使用java向远程服务发送xml请求

使用java向远程服务发送xml请求,java,xml,web-services,esb,Java,Xml,Web Services,Esb,我想使用java将下面的xml请求发送到ESB端点。我不太熟悉web服务和ESB,因为我来自前端 如有任何帮助或建议,将不胜感激 Server Time: 11:02:58:028 / Workstation Time: Monday, 22 February 2016 - 11:02:57:703 [DEBUG] SENDING SOAP REQUEST MethodID: ID_getSubmitRequest; UID=-4820428854312736237 <soapenv:En

我想使用java将下面的xml请求发送到ESB端点。我不太熟悉web服务和ESB,因为我来自前端

如有任何帮助或建议,将不胜感激

Server Time: 11:02:58:028 / Workstation Time: Monday, 22 February 2016 - 11:02:57:703
[DEBUG] SENDING SOAP REQUEST
MethodID: ID_getSubmitRequest; UID=-4820428854312736237
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns2:getSubmitRequest xmlns:ns2="urn:AC_IDM_SUBMITREQUESTVi" xmlns="urn:com.virsa.ae.ejbutil">
<ns2:requestDetails>
<application/>
<company>STACK OVERFLOW</company>
<customField>
<CustomFieldsDTO>
<name>Users ID Number</name>
<value>6303066107089</value>
</CustomFieldsDTO>
</customField>
<department xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<emailAddress>ronny.ronny@stack.co.za</emailAddress>
<employeeType>STACK</employeeType>
<firstName>RONNY</firstName>
<functionalArea xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<lastName>RONNY</lastName>
<locale xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<location xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<managerTelephone xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<mgrEmailAddress xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<mgrFirstName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<mgrId xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<mgrLastName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<priority>HIGH</priority>
<requestReason xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<requestType>SYSTEM</requestType>
<requestorEmailAddress>None</requestorEmailAddress>
<requestorFirstName>None</requestorFirstName>
<requestorId>BP5151</requestorId>
<requestorLastName>None</requestorLastName>
<requestorTelephone>None</requestorTelephone>
<roles>
<RoleData>
<action>ADD</action>
<comments xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<company xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<roleId>ZCB_STACK</roleId>
<sysId/>
<validFrom>2016-02-22T11:02:57+02:00</validFrom>
<validTo>9999-02-22T11:02:57+02:00</validTo>
</RoleData>
</roles>
<sNCName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>
<telephone>0123456789</telephone>
<unsecureLogon>false</unsecureLogon>
<userId>BP111</userId>
<validFrom>2016-02-22T11:02:57+02:00</validFrom>
<validTo>9999-02-22T11:02:57+02:00</validTo>
</ns2:requestDetails>
</ns2:getSubmitRequest>
</soapenv:Body>
</soapenv:Envelope>
服务器时间:11:02:58:028/工作站时间:2016年2月22日星期一-11:02:57:703
[调试]发送SOAP请求
方法ID:ID_getSubmitRequest;UID=-4820428854312736237
堆栈溢出
用户ID号
6303066107089
罗尼。ronny@stack.co.za
堆栈
罗尼
罗尼
高
系统
没有一个
没有一个
BP5151
没有一个
没有一个
添加
ZCB_堆栈
2016-02-22T11:02:57+02:00
9999-02-22T11:02:57+02:00
0123456789
假的
BP111
2016-02-22T11:02:57+02:00
9999-02-22T11:02:57+02:00

有多个库可以帮助您完成此任务。其中一个选项是Apache CXF:

完成此任务的步骤:

  • 使用ApacheCXF或其他库创建一个客户端JAR,其中包含连接到目标SOAP服务的代码
  • 在Java代码/项目中包含此库
  • 初始化代理以连接到服务(由生成的客户端库提供)
  • 填充您的输入
  • 调用对SOAP端点的调用并返回流程输出
这是一个很好的例子: