当前位置: 首页 > 知识库问答 >
问题:

通过调用其生成的代理类来使用SOAP WSDL

袁俊弼
2023-03-14
1)Bill.java
2)BillInfo.java
3)GetBillInfo.java
4)GetBillInfoResponse.java
5)ObjectFactory.java
-<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<soap:Body>
-<bil:getBillInfo xmlns:ns2="http://billpay.ws.bi.com/" xmlns:bil="http://billpay.ws.bi.com/">
-<billInfo>
-<bill>
<consumerNo>10300075929</consumerNo>
<shortName>SNGPL</shortName>
</bill>
<channel_id>100</channel_id>
<password>XXXXXX</password>
<username>xxx</username>
<webServiceID>3000</webServiceID>
<STAN>439624</STAN>
<channelType>Mobile</channelType>
</billInfo>
</bil:getBillInfo>
</soap:Body>
</soap:Envelope>
-<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
-<S:Body>
-<ns2:getBillInfoResponse xmlns:ns2="http://billpay.ws.bi.com/">
-<return>
-<bill>
<billAmount>150.00</billAmount>  
<billConsumerName>GOHER PIRZADA </billConsumerName>
<billMonth>2016-01</billMonth>
<consumerNo>10300075929 </consumerNo>
<dueDate>2017-08-19</dueDate>
<lateAmount>160.00</lateAmount>
<shortName>SNGPL</shortName>
<utilityCompanyAccount>900083181010586</utilityCompanyAccount>
</bill>
<channel_id>0</channel_id>
<password/>
<status>Processed OK</status>
<statusCode>0</statusCode>
<username/>
<webServiceID>0</webServiceID>
</return>
</ns2:getBillInfoResponse>
</S:Body>
</S:Envelope>
GetBillInfo gbi = new GetBillInfo();
    BillInfo bi = new BillInfo();
    bi.setChannelId(100);
    bi.setPassword("XXXXXX");
    bi.setUsername("xxx");
    bi.setWebServiceID(3000);
    bi.setChannelType("Mobile");
    bi.setSTAN("439624");
    Bill bill = new Bill();
    bill.setConsumerNo("10300012345");
    bill.setShortName("SNGPL");
    gbi.setBillInfo(bi);

    ObjectFactory of=new ObjectFactory();
    JAXBElement<GetBillInfo> jbx = of.createGetBillInfo(gbi);

在这里我没有得到任何回应,请让我知道我犯了什么错误。请通过查看SOAP输入和输出值让我知道如何调用哪些代码

共有1个答案

姬高扬
2023-03-14

访问SOAP WebService的一种基本方式是通过wsimport,这是JDK中包含的java标准工具。

基本上,你是这样称呼它的...

wsimport -Xnocompile http://example.com/someService?wsdl

...或者无论您的wsdl的位置是什么,都可以是本地文件。您可以通过给出参数-d(目标文件夹)和-p(您要创建的包)来自定义它。-xnoCompile参数只是让它提供.java文件和未编译的.class文件。

BillService service = new BillService();
BilLServicePortType port = service.getBillServicePort();
ObjectFactory of=new ObjectFactory();
JAXBElement<GetBillInfo> jbx = of.createGetBillInfo(gbi);
 类似资料:
  • 问题内容: 我正在使用mpdf库生成用户生成的html的PDF。我可以使PDF成功保存到服务器,但是我希望PDF在用户浏览器中打开。我尝试使用mpdf的输出选项在浏览器中打开文件或提示下载,但是当我使用AJAX将html数据发送到脚本时都没有发生。 这是我的AJAX: 这是我的PDF生成脚本: 我正在使用AJAX,因此无需浏览页面即可创建PDF。我的代码中是否有错误,还是应该使用其他方法? 问题答

  • 问题内容: 我需要将node-XMLHttpRequest应用程序部署到使用代理访问Internet的服务器上。在该服务器上的终端中,我可以并且运行正常。我认为在这种情况下可以识别环境变量。节点应用超时,因为它看不到代理。如何获取节点应用程序以使用代理? 例如,我可以使用http.globalAgent通过代理发送请求吗? 问题答案: 该派生添加了一个配置对象,该对象可以指定要使用的代理。 htt

  • 问题内容: 在程序中使用用户身份验证的代理的最佳/最简便方法是什么?我目前有这个,但是打开浏览器时我需要输入用户名和密码。 问题答案: 您可以使用Proxy Auto auth插件实现相同的功能 使用以下扩展程序下载扩展程序 https://chrome.google.com/webstore/detail/get- crx/dijpllakibenlejkbajahncialkbdkjc/rel

  • 13.4. 通过cgo调用C代码 Go程序可能会遇到要访问C语言的某些硬件驱动函数的场景,或者是从一个C++语言实现的嵌入式数据库查询记录的场景,或者是使用Fortran语言实现的一些线性代数库的场景。C语言作为一个通用语言,很多库会选择提供一个C兼容的API,然后用其他不同的编程语言实现(译者:Go语言需要也应该拥抱这些巨大的代码遗产)。 在本节中,我们将构建一个简易的数据压缩程序,使用了一个G

  • 问题内容: 我有一个旧类,其中包含用于实例化LoginContext()的new()调用: 我想使用Mockito测试类来模拟LoginContext,因为它要求在实例化之前设置JAAS安全性,但是我不确定如何在不更改login()方法以外部化LoginContext的情况下进行此操作。是否可以使用Mockito模拟LoginContext类? 问题答案: 对于将来,我会推荐伊兰·哈雷尔(Eran