我在eWay Web服务上遇到麻烦。
我通过wsimport用https://www.eway.com.au/gateway/rebill/test/manageRebill_test.asmx?WSDL创建了客户端ws
生成文件后,我调用ws方法

ManageRebillTestSoap soap = new ManageRebillTest() .getManageRebillTestSoap();
CustomerDetails details = soap.createRebillCustomer(....);


消息返回错误为:根据数据类型,'eWayCustomerID'元素的值无效。
Soap消息的格式为

<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>
    <eWAYHeader xmlns="http://www.eway.com.au/gateway/rebill/manageRebill">
      <eWAYCustomerID>string</eWAYCustomerID>
      <Username>string</Username>
      <Password>string</Password>
    </eWAYHeader>
  </soap:Header>
  <soap:Body>
    <CreateRebillCustomer xmlns="http://www.eway.com.au/gateway/rebill/manageRebill">
      <customerTitle>string</customerTitle>
      <customerFirstName>string</customerFirstName>
      <customerLastName>string</customerLastName>
      <customerAddress>string</customerAddress>
      <customerSuburb>string</customerSuburb>
      <customerState>string</customerState>
      <customerCompany>string</customerCompany>
      <customerPostCode>string</customerPostCode>
      <customerCountry>string</customerCountry>
      <customerEmail>string</customerEmail>
      <customerFax>string</customerFax>
      <customerPhone1>string</customerPhone1>
      <customerPhone2>string</customerPhone2>
      <customerRef>string</customerRef>
      <customerJobDesc>string</customerJobDesc>
      <customerComments>string</customerComments>
      <customerURL>string</customerURL>
    </CreateRebillCustomer>
  </soap:Body>
</soap:Envelope>


在上述方法中,只需添加<Soap:Body>
任何人都知道在eWay Web服务上的调用方法时添加eWayHeader或<soap:Header>吗?请帮我。

最佳答案

在这里已回答-wsimport doesnt generate code related to soap headers

在wsimport命令中添加选项“ -XadditionalHeaders”解决了该问题。它为可通过/检索标头的方法生成一个额外的参数。

关于java - 如何在eWay Web服务上创建eWayHeader,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14993938/

10-13 09:15