On Tuesday, December 2, 2014 6:45:04 AM UTC-8, Pengfei Yu wrote: > > Cool! Thanks very much for sharing, Dave! >
My pay-forward. Glad it helped. /dps > > 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 web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.