Java 使用SpringXML创建一个没有serviceClass的JAX-WS客户机

Java 使用SpringXML创建一个没有serviceClass的JAX-WS客户机,java,spring,wsdl,jax-ws,Java,Spring,Wsdl,Jax Ws,我知道,只要您有wdslURL、serviceName和endpointName、address,就可以创建没有SEI的jaxws:endpoint 我看到了很多关于wsdl2java的示例,然后将该类值用作serviceClass属性。还有很多基于Java的示例,我对基于spring的XML更感兴趣 例如,以下是我目前不喜欢我的东西: <jaxws:client id="jaxwsIngest" xmlns:n="webservice.ingest"

我知道,只要您有wdslURL、serviceName和endpointName、address,就可以创建没有SEI的jaxws:endpoint

我看到了很多关于wsdl2java的示例,然后将该类值用作serviceClass属性。还有很多基于Java的示例,我对基于spring的XML更感兴趣

例如,以下是我目前不喜欢我的东西:

    <jaxws:client id="jaxwsIngest"  xmlns:n="webservice.ingest" 
            address="http://localhost:8088/IngestService" 
            wsdlLocation="http://localhost:8088/IngestService?WSDL" 
            serviceName="n:IngestService" 
            endpointName="n:IngestServicePort"> 
            <jaxws:properties> 
                    <entry key="dataFormat" value="PAYLOAD"/> 
            </jaxws:properties> 
    </jaxws:client> 

是否可以执行类似于jaxws:endpoint到jaxws:client的操作?实际上,我只有一个WSDL文件&web服务的IP

有没有办法通过get查询并获取serviceClass值?就像我们如何使用http://?WSDL一样

我看到的所有示例似乎都表明serviceClass attr是必需的

提前感谢,,
Aaron

由于这个问题在两个月后仍然没有答案,我觉得我可以给出答案,尽管我对JAX-WS的内部工作原理知之甚少(而且没有spring)

您需要服务类的原因是
getPort
函数是泛型函数,将返回该类的实例(或者可能是接口)。此类是通过消化wsdl生成的(请查看ant的)。它是调用Web服务的接口。更多详情:

其他有用的答案:

如果您想在没有接口本地副本的情况下动态生成ServiceClass,那么您需要做一些非常奇特的反射工作。这超出了我和谷歌的大多数人的理解,尽管我已经看到一些人在为他们的论文写这篇文章