Installation issues
Setting up the Java Web Services Developer Pack 1.2 is easy -- as long as you send your messages through the included Tomcat Web server. To send messages through a standalone application, as I do here, you need to take the following steps:
Now it has 2 parts - name and price , which it wants to submit to the service.
Notice the structure of the message. The
Creating the message object
First, you create the message itself by using the MessageFactory. This message already contains empty versions of the basic parts, such as the envelope and header. The SOAPPart contains the envelope, and the envelope contains the body. Create references to the needed objects, such as the SOAPBody.
Populating the body:
The body of the SOAP message is just like any other XML element in that you can add a child element, such as Price.
Setting up the Java Web Services Developer Pack 1.2 is easy -- as long as you send your messages through the included Tomcat Web server. To send messages through a standalone application, as I do here, you need to take the following steps:
- Download the JWSDP 1.2 from http://java.sun.com/webservices/downloads/webservicespack.html.
- Follow the instructions and install.
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Header />
<SOAP-ENV:Body>
<ns1:Price xmlns:ns1="urn:xmethods-BNPriceCheck" >340
</ns1:Price>
<AuthorName>
<FirstName>Rajesh</FirstName>
<LastName>Thakur</LastName>
</AuthorName>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Now it has 2 parts - name and price , which it wants to submit to the service.
Notice the structure of the message. The
Envelope
contains the Header
and Body
elements, and all three are part of the http://schemas.xmlsoap.org/soap/envelope/
namespace. The application sends the message using a SOAPConnection
.Creating the message object
//Next, create the actual message
MessageFactory messageFactory = MessageFactory.newInstance();
SOAPMessage message = messageFactory.createMessage();
//Create objects for the message parts
SOAPPart soapPart = message.getSOAPPart();
SOAPEnvelope envelope = soapPart.getEnvelope();
SOAPBody body = envelope.getBody();
First, you create the message itself by using the MessageFactory. This message already contains empty versions of the basic parts, such as the envelope and header. The SOAPPart contains the envelope, and the envelope contains the body. Create references to the needed objects, such as the SOAPBody.
Populating the body:
The body of the SOAP message is just like any other XML element in that you can add a child element, such as Price.
//Populate the bodySo this is how our message is prepared and now we can send it as request.
//Create the main element and namespace
SOAPElement bodyElement =
body.addChildElement(envelope.createName("Price" ,
"ns1",
"urn:xmethods-BNPriceCheck")).addTextNode("340");
SOAPElement authorElement = body.addChildElement(envelope.createName("AuthorName");
authorElement.addChildElement("FirstName").addTextNode("Rajesh");
authorElement.addChildElement("LastName").addTextNode("Thakur");
//Save the message
message.saveChanges();
//Check the input
System.out.println("\nREQUEST:\n");
message.writeTo(System.out);
System.out.println();
No comments:
Post a Comment