如何在eWay webservice上创建eWayHeader

时间:2013-02-21 03:12:01

标签: java web-services soap

我在使用eWay网络服务时遇到了麻烦 我通过wsimport用https://www.eway.com.au/gateway/rebill/test/manageRebill_test.asmx?WSDL创建了客户端w 生成文件后,我调用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 webservice上调用方法时添加eWayHeader或<soap:Header>?请帮帮我。

1 个答案:

答案 0 :(得分:1)

这已在此处得到解答 - wsimport doesnt generate code related to soap headers

添加选项&#39; -XadditionalHeaders&#39;到wsimport命令解决了这个问题。它为方法生成一个额外的参数,通过该方法可以传递/检索标头。