作为webservices的初学者,我正致力于从作为服务器的合作伙伴API使用Web服务,我开发了一个网关应用程序,将请求发送到我的API,作为客户端。我这样做是因为我的API中的方法与合作伙伴的API不匹配。我已经在SOAPUI上探索了合作伙伴的API并确定了我需要的方法,我在下面粘贴了这个方法:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:hub="http://hub4api.cellulant.com/">
<soapenv:Header/>
<soapenv:Body>
<hub:validateAccount>
<credentials>
<username>?</username>
<password>?</password>
</credentials>
<packet>
<!--1 or more repetitions:-->
<Item>
<serviceID>?</serviceID>
<serviceCode>?</serviceCode>
<accountNumber>?</accountNumber>
<requestExtraData>?</requestExtraData>
</Item>
</packet>
</hub:validateAccount>
</soapenv:Body>
</soapenv:Envelope>
在向指定的端点URL提交请求后,我得到以下回复
<S:<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
Body>
<ns2:validateAccountResponse xmlns:ns2="http://hub4api.cellulant.com/">
<return>
<authStatus>
<authStatusCode>131</authStatusCode>
<authStatusDescription>Authentication was a success</authStatusDescription>
</authStatus>
<results>
<Item>
<statusCode>307</statusCode>
<statusDescription>Account number provided is valid</statusDescription>
<serviceID>130</serviceID>
<serviceCode/>
<accountNumber>XXXXXXXX</accountNumber>
<active>yes</active>
<responseExtraData>{"Currency":"XXX","VALUE":"33.54","DueDate":"2014-09-12T00:00:00+07:00"}</responseExtraData>
</Item>
</results>
</return>
</ns2:validateAccountResponse>
</S:Body>
</S:Envelope>
我想将响应转换为java对象并在我的GateWay中使用它,但我不知道如何去做。有人可以帮助我吗?
答案 0 :(得分:0)
您可以使用wsimport
为特定(简单)Web服务生成Java代码。
查看http://docs.oracle.com/javase/7/docs/technotes/tools/share/wsimport.html