当前位置: 首页 > 面试题库 >

如何通过javax.xml.ws.Service进行呼叫

邵飞鸿
2023-03-14
问题内容

在Eclipse中创建了一个新的标准Java 7项目,并成功地成功获取了javax.xml.ws.Servicelike 的实例,如下所示:

  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);

在主要方法中,此方法运行良好,据我所知,该部分有效。但我不知道如何实际使用它。在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>

如何在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);

YourPortInteface将在期间生成,wsimport或者,如果您有足够的“阅读” wsdl经验,则可以自己创建和注释它。



 类似资料:
  • 问题内容: 有没有办法遍历Java SparseArray(适用于Android)?我曾经很容易通过索引来获取值。我找不到一个。 问题答案: 似乎我找到了解决方案。我没有正确注意到该功能。 因此,我将使用以下内容:

  • 问题内容: 我正在考虑AJAX应用程序必须轮询轮询更新有多大限制,而最理想的是javascript能够建立与服务器的真正双向连接。我想知道是否存在将javascript与可以建立tcp连接的浏览器插件集成的方法,以便可以将数据传入和传出浏览器插件。 问题答案: 这是具有类似方法的实现: 套接字 它使用Java Applet,并将其API桥接到JavaScript,有趣的是… 这里是另一个: 套接字

  • 问题内容: 我正在使用三角帆Gradle插件创建docker映像并将其推送到Azure容器注册表。到目前为止,我已经向Jenkins添加了用户名/密码凭据,并且需要将它们传递给Gradle。访问或将凭据传递给Gradle,它们会被屏蔽。希望您能够帮助我。以下是代码片段: build.gradle(臂架配置): Jenkinsfile: 编辑:我的用户名中有错字 问题答案: 用户名中有错字。将Jen

  • 问题内容: 我的脚本来调用ajax 的HTML 问题: 在onkeyup上,我正在使用ajax来获取结果。一旦ajax结果延迟增加,对我来说就会发生问题。 例如, 当键入关键字时,我收到ajax结果,而当键入两次键之间的ajax时间延迟有时引起严重问题时,我收到ajax结果。 当我快速打字时。与相比,ajax搜索关键字的时间晚了。我不知道该如何处理这类案件。 结果由于ajax延迟 而快速键入关键字

  • 我使用Reactor(Spring5 WebClient)作为我的反应式编程API。我有两个Rest点要打。第一个的结果将是第二个的参数。对于第二个API,它将返回一个带有“hasMore”值的结果。如果这个值为true,我应该更改分页参数并再次调用第二个API。演示代码如下所示: 如何重复调用第二个API(getApi2),直到“hasMore”为false。 此外,我需要更改参数页面大小和页面