在Java中发送SOAP请求有多种方法,其中一种常用的方法是使用JAX-WS(Java API for XML Web Services)。
下面是一个简单的示例代码,演示如何使用JAX-WS发送SOAP请求:
import javax.xml.soap.*; public class SoapClient { public static void main(String[] args) { try { // 创建SOAP连接 SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance(); SOAPConnection soapConnection = soapConnectionFactory.createConnection(); // 创建SOAP消息 MessageFactory messageFactory = MessageFactory.newInstance(); SOAPMessage soapMessage = messageFactory.createMessage(); // 创建SOAP消息的部分 SOAPPart soapPart = soapMessage.getSOAPPart(); SOAPEnvelope soapEnvelope = soapPart.getEnvelope(); SOAPBody soapBody = soapEnvelope.getBody(); // 添加SOAP消息体内容 soapBody.addBodyElement(soapEnvelope.createName("HelloWorld", "ns", "http://www.example.org")); // 设置SOAP地址 String url = "http://localhost:8080/HelloWorldService"; SOAPMessage response = soapConnection.call(soapMessage, url); // 处理SOAP响应 SOAPBody responseBody = response.getSOAPBody(); System.out.println("Response: " + responseBody.getTextContent()); // 关闭SOAP连接 soapConnection.close(); } catch (Exception e) { e.printStackTrace(); } } }
在上面的示例中,我们首先创建了一个SOAP连接,然后创建了一个SOAP消息,并设置了SOAP消息体内容。接着我们指定了SOAP服务器的地址,最后发送SOAP请求并处理响应。
请注意,以上示例是一个简单的演示,实际项目中可能需要更复杂的SOAP消息结构和处理逻辑。您可以根据具体需求进行调整和扩展。