Cool! Thanks very much for sharing, Dave!
On Tuesday, November 25, 2014 2:26:47 PM UTC-5, Dave S wrote:
>
>
>
> On Monday, November 24, 2014 12:24:25 PM UTC-8, Pengfei Yu wrote:
>>
>> Hi Dave,
>>
>> Thanks very much for your reply! Could you give a more detailed example
>> for an implementation for Java client? A block of java codes from your Java
>> client talking to web2py service will be perfect. Even with the most simple
>> example from the web2py's SOAP service document is good enough.
>>
>>>
>>>
> The usage looks something like this:
> try {
> String url = "http://" + ServerIP + "/" +
> AppID + "/default/call/soap";
> // Create SOAP Connection
> SOAPConnectionFactory soapConnectionFactory =
> SOAPConnectionFactory.newInstance();
> SOAPConnection soapConnection = soapConnectionFactory.
> createConnection();
>
> // Send SOAP Message to SOAP Server
> SOAPMessage soapResponse = soapConnection.call(
> createSOAPRequest(tdName, tdiskStatus),
> url);
>
> // Process the SOAP Response
> printSOAPResponse(soapResponse);
>
> soapConnection.close();
> } catch (SOAPException ex) {
> System.out.println("main: soap " + ex.getMessage());
> Logger.getLogger(LogTDSClient.class.getName()).log(Level.SEVERE,
> null, ex);
> } catch (UnsupportedOperationException ex) {
> System.out.println("main: uns" + ex.getMessage());
> Logger.getLogger(LogTDSClient.class.getName()).log(Level.SEVERE,
> null, ex);
> } catch (Exception ex) {
> System.out.println("main: oops " + ex.getMessage());
> Logger.getLogger(LogTDSClient.class.getName()).log(Level.SEVERE,
> null, ex);
> }
>
>
> and the interesting part:
>
> private static SOAPMessage createSOAPRequest(String tName, String
> tStatus) throws Exception {
> MessageFactory messageFactory = MessageFactory.newInstance();
> SOAPMessage soapMessage = messageFactory.createMessage();
> SOAPPart soapPart = soapMessage.getSOAPPart();
>
> String serverURI = "http://your-url:here";
> String authHack = "ZGxv-usual-base64stuff";
>
>
> // SOAP Envelope
> SOAPEnvelope envelope = soapPart.getEnvelope();
> // your-url:here corresponds to serverIP above
> envelope.addNamespaceDeclaration("ns0",
> "http://your-url:here/AppID/default/call/soap");
>
>
>
> // SOAP Body
> SOAPBody soapBody = envelope.getBody();
> SOAPElement soapBodyElem = soapBody.addChildElement("YourSoapFunc"
> , "ns0");
> SOAPElement soapBodyElem1 = soapBodyElem.addChildElement(
> "YourSoapParam");
> soapBodyElem1.addTextNode("YourSoapParamString");
>
>
> MimeHeaders headers = soapMessage.getMimeHeaders();
> headers.addHeader("SOAPACTION", "");
> headers.addHeader("Authorization", "Basic " + authHack);
> Iterator outHeaders = headers.getAllHeaders();
> while (false & outHeaders.hasNext()) {
> MimeHeader outH = (MimeHeader) outHeaders.next();
> // System.out.println(outH.getName() + " -- " +outH.getValue());
> }
>
> soapMessage.saveChanges();
>
> /* Print the request message */
> if (Boolean.FALSE) {
> System.out.print("Request SOAP Message = ");
> soapMessage.writeTo(System.out);
> System.out.println();
> }
>
> return soapMessage;
> }
>
>
> It's pretty simple. You might need to tweak the return value handling,
> because that part wasn't very important to my usage.
>
> (Grrr -- the GG message editor gets funky when I put in a code block, at
> least in this browser.)
>
>
> Good luck.
>
> /dps
>
>
>
>
>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.