我知道只要你有wdslURL,serviceName& endpointName,address。
我看到很多关于wsdl2java的例子,然后使用该类值作为serviceClass attr。还有很多基于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那样做类似的东西:端点到jaxws:client?实际上,我所拥有的只是一个WSDL文件&amp; WebService的IP。
有没有办法询问,并通过GET获取serviceClass值?就像我们如何做http://?WSDL
我看到的所有示例似乎都认为需要serviceClass attr。
提前致谢, 亚伦
答案 0 :(得分:0)
由于这个问题在2个月后开放,我觉得尽管我对JAX-WS(并没有弹簧)的内部工作方式缺乏了解,但我仍能给出答案。
您需要服务类的原因是getPort
函数是通用的,并将返回该类的实例(或可能是接口)。这个类是通过消化wsdl生成的(查看ant的wsconsume)。它是用于调用Web服务的接口。更多详情:http://java.sun.com/developer/technicalArticles/J2SE/jax_ws_2/
其他有用的答案:
JAX-WS client : what's the correct path to access the local WSDL?
如果你想在没有界面的本地副本的情况下动态生成你的ServiceClass,那么你需要做一些超级花哨的反射。这超出了我和谷歌的大部分,虽然我已经看过一些人为他们的论文做这个帖子。