Svi*_*ish 4 java soap web-services java-7
在Eclipse中创建了一个新的标准java 7项目,并成功地设法获得了javax.xml.ws.Service类似的实例:
String wsdlURL = "http://example.com:3000/v1_0/foo/bar/SomeService?wsdl";
String namespace = "http://foo.bar.com/webservice";
String serviceName = "SomeService";
QName serviceQN = new QName(namespace, serviceName);
Service service = Service.create(new URL(wsdlURL), serviceQN);
Run Code Online (Sandbox Code Playgroud)
这在主方法中运行良好,所以据我所知,该部分有效.但我无法弄清楚如何实际使用它.在SoapUI中,我使用如下所示的请求调用此相同的服务:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://foo.bar.com/webservice">
<soapenv:Header/>
<soapenv:Body>
<web:SomeWebServiceRequest acAccountName="name" acAccountPassword="password">
<SomeRequest>
<id>012345678901234</id>
<action>Fix</action>
</SomeRequest>
</web:SomeWebServiceRequest>
</soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)
如何在Java中执行相同的请求?我的目标是我有很长的列表id,我需要为每个人运行这样的请求.在SoapUI中手动执行它有点烦人,因此我想使用简单的Java控制台应用程序自动执行它.
下一步是Port从您的服务获得:
Service service = Service.create(new URL(wsdlURL), serviceQN); // this is where you are.
QName portQName = new QName(portNamespace, portName);
YourPortInterface port = service.getPort(portQName, YourPortInterface.class);
Run Code Online (Sandbox Code Playgroud)
YourPortInteface将在生成期间生成,wsimport或者如果您有足够的"阅读"wsdl经验,您可以自己创建和注释它.
| 归档时间: |
|
| 查看次数: |
24416 次 |
| 最近记录: |