SAAJ を使用した機能的な SOAP クライアントの提供
概要
SOAP、単純なオブジェクト アクセスプロトコルは、Web サービスの通信に広く使用されています。 Java での SOAP クライアントの実装は、特に SAAJ (SOAP with Attachments API for Java) フレームワークを利用すると簡単になります。この記事では、SAAJ で作成された SOAP クライアントの実例を示し、フレームワークを利用するためのガイダンスを提供します。
SAAJ for SOAP クライアント
SAAJ は、包括的な API セットを提供します。 SOAP メッセージを処理するため。これにより、開発者は SOAP メッセージを直接作成、送信、受信できるようになり、Web サービスとの対話に柔軟性が提供されます。 SAAJ は標準 Java SE の一部であるため、開発目的ですぐに利用できます。
動作する SOAP クライアントの例
次のコード スニペットは、SAAJ を使用した機能的な SOAP クライアントを示しています。 :
import javax.xml.soap.*; public class SOAPClientSAAJ { // SAAJ - SOAP Client Testing public static void main(String args[]) { // SOAP Endpoint URL and SOAP Action String soapEndpointUrl = "http://www.webservicex.net/uszip.asmx"; String soapAction = "http://www.webserviceX.NET/GetInfoByCity"; callSoapWebService(soapEndpointUrl, soapAction); } private static void createSoapEnvelope(SOAPMessage soapMessage) throws SOAPException { // Namespace and URI String myNamespace = "myNamespace"; String myNamespaceURI = "http://www.webserviceX.NET"; // SOAP Envelope SOAPPart soapPart = soapMessage.getSOAPPart(); SOAPEnvelope envelope = soapPart.getEnvelope(); envelope.addNamespaceDeclaration(myNamespace, myNamespaceURI); // SOAP Body SOAPBody soapBody = envelope.getBody(); SOAPElement soapBodyElem = soapBody.addChildElement("GetInfoByCity", myNamespace); SOAPElement soapBodyElem1 = soapBodyElem.addChildElement("USCity", myNamespace); soapBodyElem1.addTextNode("New York"); } private static void callSoapWebService(String soapEndpointUrl, String soapAction) { try { // Create SOAP Connection SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance(); SOAPConnection soapConnection = soapConnectionFactory.createConnection(); // SOAP Message and SOAP Request SOAPMessage soapRequest = createSOAPRequest(soapAction); // Send SOAP Message and Receive Response SOAPMessage soapResponse = soapConnection.call(soapRequest, soapEndpointUrl); // Print Response soapResponse.writeTo(System.out); // Close Connection soapConnection.close(); } catch (Exception e) { e.printStackTrace(); } } private static SOAPMessage createSOAPRequest(String soapAction) throws Exception { // Message Factory and SOAP Message MessageFactory messageFactory = MessageFactory.newInstance(); SOAPMessage soapMessage = messageFactory.createMessage(); // Create Soap Envelope createSoapEnvelope(soapMessage); // Set MIME Headers and Soap Action MimeHeaders headers = soapMessage.getMimeHeaders(); headers.addHeader("SOAPAction", soapAction); // Save Changes and Print Request soapMessage.saveChanges(); soapMessage.writeTo(System.out); return soapMessage; } }
を実行しています例
この例を実行するには、SOAPClientSAAJ.java という名前のファイルに配置し、Java コンパイラを使用してコンパイルします。コンパイルされたクラスを実行すると、コードで指定された Web サービスが呼び出され、都市「ニューヨーク」に関する情報が取得されます。応答はコンソールに出力されます。
結論
この包括的な記事では、SAAJ フレームワークを使用して Java に SOAP クライアントを実装するためのガイダンスを提供します。 Web サービスを呼び出す SOAP クライアントを示す実際の例は、独自の SOAP ベースのソリューションを構築するための参考として使用できます。 SAAJ の機能を活用することで、開発者はさまざまな Web サービスとシームレスに対話する堅牢な SOAP クライアントを作成できます。
以上がSAAJ を使用して Java で機能する SOAP クライアントを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。