我使用Eclipse IDE创建了一个Dynamic Web Project,下面给出了公开的Web服务方法,即.CallPaySecure()。
我想知道如何创建一个接受soap-header的soap服务,如下所示。
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<RequestorCredentials xmlns="https://paysecure/merchant.soap.header/">
<Version>string</Version>
<UserCredentials>
<UserID>string</UserID>
<Password>string</Password>
</UserCredentials>
</RequestorCredentials>
</soap:Header>
<soap:Body>
<CallPaySecure xmlns="https://paysecure/merchant.soap/">
<strCommand>string</strCommand>
<strXML>string</strXML>
</CallPaySecure>
</soap:Body>
</soap:Envelope>
&#13;
我在java中编写了以下代码
@WebMethod
@WebResult(name="CallPaySecureResult")
public String CallPaySecure(
@WebParam(name="strCommand")String strCmd,
@WebParam(name="strXML") String strXML ){
}
&#13;
但是这段代码只能从以下标签中获取值。
<strCommand>string</strCommand>
<strXML>string</strXML>
&#13;
1.我的WSDL是由Glassfish服务器v4自动生成的,我如何修改WSDL或者我应该用什么java代码来接受上面提到的XML SOAP请求?
2.如何在WSDL中定义<soap:Header>
,以便我可以在我的Web服务CallPaySecure中访问<Version>
,<UserID>
和<Password>
中的值()?
我第一次使用SOAP。
感谢您的建议。
答案 0 :(得分:2)