Re: [U2] SOAP Header
The u2 soap/hhtprequest call will set the basic minimum http headers required for a http conversation, this includes get/post, Host and Http version. Host is taken from the url endpoint you supply the call. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King Sent: 27 July 2011 22:57 To: U2 Users List Subject: Re: [U2] SOAP Header I'm confused. Exactly what is setting the Host: http header in the SOAP request? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1390 / Virus Database: 1518/3792 - Release Date: 07/27/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SOAP Header
We actually have 2 issues to overcome. The big show stopper now is the host. The client is using a load balancer and requires the Host to be specified in the SOAP header. No matter what I do, (SOAPSetRequestHeader, modify the SOAP and specify a soap:header section) nothing is working. I attempted doing a straight HTTP call, doing a createRequest, setting the request headers with the SOAP request information including the host info, and passed the SOAP document in as the POST_DATA. I was able to hit the server, but it failed on processing the SOAP doc (I know its valid, its my test doc, as is the URL, SOAP.ACTION, etc.). Has anyone done it this way? I did the following for the header: URL = 'http://ccsvc/procCC.asmx' SOAP.ACTION = 'ccprocessing/ProcCC' CONTENT.TYPE = 'text/xml; charset=utf-8' TIMEOUT = '36000' * STATUS = createRequest(URL,SOAP.ACTION,'POST',SOAP.REQUEST) * STATUS = setRequestHeader(SOAP.REQUEST,'Host','ccsvc') STATUS = setRequestHeader(SOAP.REQUEST,'Content-Type',QUOTE(CONTENT.TYPE)) STATUS = setRequestHeader(SOAP.REQUEST,'SOAPAction',QUOTE(SOAP.ACTION)) STATUS = setRequestHeader(SOAP.REQUEST,'Content-Length', LEN(SOAP.Doc)) * STATUS = submitRequest(SOAP.REQUEST, TIMEOUT, SOAP.Doc, RESP.HEADERS, RESP.DATA, SOAP.STATUS) Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Symeon Breen Sent: Thursday, July 28, 2011 12:39 AM To: 'U2 Users List' Subject: Re: [U2] SOAP Header The u2 soap/hhtprequest call will set the basic minimum http headers required for a http conversation, this includes get/post, Host and Http version. Host is taken from the url endpoint you supply the call. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King Sent: 27 July 2011 22:57 To: U2 Users List Subject: Re: [U2] SOAP Header I'm confused. Exactly what is setting the Host: http header in the SOAP request? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1390 / Virus Database: 1518/3792 - Release Date: 07/27/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SOAP Header
Are you talking about the http Host header parameter or a soap parameter ? Have you used protocolLogging to trace the exact http conversation. You can also use telnet to test and see what errors come back. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Long Sent: 28 July 2011 16:13 To: U2 Users List Subject: Re: [U2] SOAP Header We actually have 2 issues to overcome. The big show stopper now is the host. The client is using a load balancer and requires the Host to be specified in the SOAP header. No matter what I do, (SOAPSetRequestHeader, modify the SOAP and specify a soap:header section) nothing is working. I attempted doing a straight HTTP call, doing a createRequest, setting the request headers with the SOAP request information including the host info, and passed the SOAP document in as the POST_DATA. I was able to hit the server, but it failed on processing the SOAP doc (I know its valid, its my test doc, as is the URL, SOAP.ACTION, etc.). Has anyone done it this way? I did the following for the header: URL = 'http://ccsvc/procCC.asmx' SOAP.ACTION = 'ccprocessing/ProcCC' CONTENT.TYPE = 'text/xml; charset=utf-8' TIMEOUT = '36000' * STATUS = createRequest(URL,SOAP.ACTION,'POST',SOAP.REQUEST) * STATUS = setRequestHeader(SOAP.REQUEST,'Host','ccsvc') STATUS = setRequestHeader(SOAP.REQUEST,'Content-Type',QUOTE(CONTENT.TYPE)) STATUS = setRequestHeader(SOAP.REQUEST,'SOAPAction',QUOTE(SOAP.ACTION)) STATUS = setRequestHeader(SOAP.REQUEST,'Content-Length', LEN(SOAP.Doc)) * STATUS = submitRequest(SOAP.REQUEST, TIMEOUT, SOAP.Doc, RESP.HEADERS, RESP.DATA, SOAP.STATUS) Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Symeon Breen Sent: Thursday, July 28, 2011 12:39 AM To: 'U2 Users List' Subject: Re: [U2] SOAP Header The u2 soap/hhtprequest call will set the basic minimum http headers required for a http conversation, this includes get/post, Host and Http version. Host is taken from the url endpoint you supply the call. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King Sent: 27 July 2011 22:57 To: U2 Users List Subject: Re: [U2] SOAP Header I'm confused. Exactly what is setting the Host: http header in the SOAP request? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1390 / Virus Database: 1518/3792 - Release Date: 07/27/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1390 / Virus Database: 1518/3792 - Release Date: 07/27/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SOAP Header
Both actually. The SOAP parameter I have tried, and it seems to do nothing. The SOAP header is not created. I tried the http host header parameter as specified below to try and circumvent the issue, and it creates the http header correctly, but the SOAP document is not processed and I get an error stating status 415: unsupported media type. I got this info via protocolLogging. Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Symeon Breen Sent: Thursday, July 28, 2011 8:41 AM To: 'U2 Users List' Subject: Re: [U2] SOAP Header Are you talking about the http Host header parameter or a soap parameter ? Have you used protocolLogging to trace the exact http conversation. You can also use telnet to test and see what errors come back. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Long Sent: 28 July 2011 16:13 To: U2 Users List Subject: Re: [U2] SOAP Header We actually have 2 issues to overcome. The big show stopper now is the host. The client is using a load balancer and requires the Host to be specified in the SOAP header. No matter what I do, (SOAPSetRequestHeader, modify the SOAP and specify a soap:header section) nothing is working. I attempted doing a straight HTTP call, doing a createRequest, setting the request headers with the SOAP request information including the host info, and passed the SOAP document in as the POST_DATA. I was able to hit the server, but it failed on processing the SOAP doc (I know its valid, its my test doc, as is the URL, SOAP.ACTION, etc.). Has anyone done it this way? I did the following for the header: URL = 'http://ccsvc/procCC.asmx' SOAP.ACTION = 'ccprocessing/ProcCC' CONTENT.TYPE = 'text/xml; charset=utf-8' TIMEOUT = '36000' * STATUS = createRequest(URL,SOAP.ACTION,'POST',SOAP.REQUEST) * STATUS = setRequestHeader(SOAP.REQUEST,'Host','ccsvc') STATUS = setRequestHeader(SOAP.REQUEST,'Content-Type',QUOTE(CONTENT.TYPE)) STATUS = setRequestHeader(SOAP.REQUEST,'SOAPAction',QUOTE(SOAP.ACTION)) STATUS = setRequestHeader(SOAP.REQUEST,'Content-Length', LEN(SOAP.Doc)) * STATUS = submitRequest(SOAP.REQUEST, TIMEOUT, SOAP.Doc, RESP.HEADERS, RESP.DATA, SOAP.STATUS) Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Symeon Breen Sent: Thursday, July 28, 2011 12:39 AM To: 'U2 Users List' Subject: Re: [U2] SOAP Header The u2 soap/hhtprequest call will set the basic minimum http headers required for a http conversation, this includes get/post, Host and Http version. Host is taken from the url endpoint you supply the call. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King Sent: 27 July 2011 22:57 To: U2 Users List Subject: Re: [U2] SOAP Header I'm confused. Exactly what is setting the Host: http header in the SOAP request? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1390 / Virus Database: 1518/3792 - Release Date: 07/27/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1390 / Virus Database: 1518/3792 - Release Date: 07/27/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SOAP Header
Sounds like you are missing a Content-Type header For soap the Content-Type is application/soap+xml -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Long Sent: 28 July 2011 16:45 To: U2 Users List Subject: Re: [U2] SOAP Header Both actually. The SOAP parameter I have tried, and it seems to do nothing. The SOAP header is not created. I tried the http host header parameter as specified below to try and circumvent the issue, and it creates the http header correctly, but the SOAP document is not processed and I get an error stating status 415: unsupported media type. I got this info via protocolLogging. Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Symeon Breen Sent: Thursday, July 28, 2011 8:41 AM To: 'U2 Users List' Subject: Re: [U2] SOAP Header Are you talking about the http Host header parameter or a soap parameter ? Have you used protocolLogging to trace the exact http conversation. You can also use telnet to test and see what errors come back. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Long Sent: 28 July 2011 16:13 To: U2 Users List Subject: Re: [U2] SOAP Header We actually have 2 issues to overcome. The big show stopper now is the host. The client is using a load balancer and requires the Host to be specified in the SOAP header. No matter what I do, (SOAPSetRequestHeader, modify the SOAP and specify a soap:header section) nothing is working. I attempted doing a straight HTTP call, doing a createRequest, setting the request headers with the SOAP request information including the host info, and passed the SOAP document in as the POST_DATA. I was able to hit the server, but it failed on processing the SOAP doc (I know its valid, its my test doc, as is the URL, SOAP.ACTION, etc.). Has anyone done it this way? I did the following for the header: URL = 'http://ccsvc/procCC.asmx' SOAP.ACTION = 'ccprocessing/ProcCC' CONTENT.TYPE = 'text/xml; charset=utf-8' TIMEOUT = '36000' * STATUS = createRequest(URL,SOAP.ACTION,'POST',SOAP.REQUEST) * STATUS = setRequestHeader(SOAP.REQUEST,'Host','ccsvc') STATUS = setRequestHeader(SOAP.REQUEST,'Content-Type',QUOTE(CONTENT.TYPE)) STATUS = setRequestHeader(SOAP.REQUEST,'SOAPAction',QUOTE(SOAP.ACTION)) STATUS = setRequestHeader(SOAP.REQUEST,'Content-Length', LEN(SOAP.Doc)) * STATUS = submitRequest(SOAP.REQUEST, TIMEOUT, SOAP.Doc, RESP.HEADERS, RESP.DATA, SOAP.STATUS) Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Symeon Breen Sent: Thursday, July 28, 2011 12:39 AM To: 'U2 Users List' Subject: Re: [U2] SOAP Header The u2 soap/hhtprequest call will set the basic minimum http headers required for a http conversation, this includes get/post, Host and Http version. Host is taken from the url endpoint you supply the call. -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Kevin King Sent: 27 July 2011 22:57 To: U2 Users List Subject: Re: [U2] SOAP Header I'm confused. Exactly what is setting the Host: http header in the SOAP request? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1390 / Virus Database: 1518/3792 - Release Date: 07/27/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1390 / Virus Database: 1518/3792 - Release Date: 07/27/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users - No virus found in this message. Checked by AVG - www.avg.com Version: 10.0.1390 / Virus Database: 1518/3792 - Release Date: 07/27/11 ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SOAP Header
If you're unable to get this working using the native UD method you can probably do it via the cURL program at the OS level. It's available for a wide variety of platforms and should already be installed if you're on linux: http://curl.haxx.se/download.html I've used cURL to interact with many web services from within UV including an SSL SOAP service. You specify the SSL header data for cURL with an individual -H option for each line in the header. Here's some example code from a program that validates international addresses: 0053: URL = 'https://validator2.addressdoctor.com/addInteractive/Interact ive.asmx?WSDL' 0054: HDR = 'POST /addInteractive/Interactive.asmx HTTP/1.1' 0055: HDR-1 = 'Host: validator2.addressdoctor.com' 0056: HDR-1 = 'Content-Type: text/xml; charset=utf-8' 0057: HDR-1 = 'Content-Length: ' 0058: HDR-1 = 'SOAPAction: \http://validator2.AddressDoctor.com/addInt eractive/Interactive/Validate\' 0059: XML.REQ = ?xml version='1.0' encoding='utf-8'? 0060: XML.REQ := soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSch ema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='ht tp://schemas.xmlsoap.org/soap/envelope/' 0061: XML.REQ := soap:Body 0062: XML.REQ := Validate xmlns='http://validator2.AddressDoctor.com/ad dInteractive/Interactive' etc., etc. 0123: WRITE XML.REQ ON FILE.TMP, REQ.ID 0124: EXEC.STR = 'LANG=en_US.UTF-8; LANGUAGE=en_US.UTF-8;' 0125: EXEC.STR := 'export LANG LANGUAGE; ' 0126: EXEC.STR := 'curl --connect-timeout 10' 0127: EXEC.STR := ' --max-time 10' 0128: FOR I = 1 TO DCOUNT(HDR, @AM) 0129: IF INDEX(HDRI,'Content-Length:',1) THEN 0130:HDRI := LEN(XML.REQ) 0131: END 0132: EXEC.STR := ' -H ':HDRI:'' 0133: NEXT I 0139: EXEC.STR := ' --silent' 0140: EXEC.STR := ' -d @/tmp/':REQ.ID:' -k ':URL 0141: EXECUTE SH -c ':EXEC.STR:', OUT XML.RESP 0142: DELETE FILE.TMP, REQ.ID -John -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Long Sent: Wednesday, July 27, 2011 9:05 AM To: U2 Users List Subject: [U2] SOAP Header Hi All - I am using the Unidata functionality to do SOAP calls and I now need to specify header information to call a SSL page. It is failing because there is not info in the header. The documentation is very sparse on this, as you all know. Anyone have any insight on how to specify header info using the SOAPSetRequestHeader function? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SOAP Header
Thanks Larry. They are on 7.2. Currently we are using the SOAPCreateRequest, SOAPSetRequestContent, and SOAPSubmitRequest functions only. I would like to avoid adding the header info to the SOAP body if possible, but if not, how did you do it? Did you surround it by the Header tags or did you just put the info at the beginning of the body? Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Larry Hiscock Sent: Wednesday, July 27, 2011 9:32 AM To: 'U2 Users List' Subject: Re: [U2] SOAP Header Hi Steve, What version of UD and on what platform? The reason I ask is that we have a client that is stuck on UD v6.1 for the time being (because they're on SCO OpenServer). At that rev and on that platform, we ran into issues using some of the SOAP functions. We were able to work around it, but only ended up using the SOAPCreateSecureRequest(), SOAPSetRequestContent() and SOAPSubmitRequest() functions. We built our own SOAP headers into the SOAP body that is passed to SOAPSetRequestContent(). You might also try turning on Protocol Logging. It does give some mostly useful information about exactly where your SOAP transaction is failing. VAR = protocolLogging(/path.../soapprotocol.log, ON, 7) Larry Hiscock Western Computer Services PH: 661-255-0235 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Long Sent: Wednesday, July 27, 2011 9:05 AM To: U2 Users List Subject: [U2] SOAP Header Hi All - I am using the Unidata functionality to do SOAP calls and I now need to specify header information to call a SSL page. It is failing because there is not info in the header. The documentation is very sparse on this, as you all know. Anyone have any insight on how to specify header info using the SOAPSetRequestHeader function? Thanks in advance! Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users
Re: [U2] SOAP Header
Here's an example of one we're using to validate mailing addresses (the indentation is just for readability): * Build the SOAP request SoapBody = '?xml version=1.0 encoding=UTF-8?' SoapBody := 'soap:Envelope xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;' SoapBody := ' xmlns:xsd=http://www.w3.org/2001/XMLSchema;' SoapBody := ' xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/;' SoapBody := ' soap:Body' SoapBody := ' ':Method:' xmlns=':NameSpace:'' SoapBody := 'request' SoapBody := ' Addresses' SoapBody := 'AddressRequest' SoapBody := ' Addressee':ADDRESSEE:'/Addressee' SoapBody := ' Street':ADDRESS:'/Street' SoapBody := ' Street2':ADDRESS2:'/Street2' SoapBody := ' City':CITY:'/City' SoapBody := ' State':STATE:'/State' SoapBody := ' ZipCode':ZIPCODE:'/ZipCode' SoapBody := ' LastLine':LASTLINE:'/LastLine' SoapBody := '/AddressRequest' SoapBody := ' /Addresses' SoapBody := ' Suggestions':MaxSugg:'/Suggestions' SoapBody := '/request' SoapBody := ' /':Method:'' SoapBody := ' /soap:Body' SoapBody := '/soap:Envelope' * Load the security context RtnVal = loadSecurityContext(Context, ContextName, password) * Create the Request RtnVal = SOAPCreateSecureRequest(SoapURL, SoapAction, SoapReq, Context) * Set up the Request Content RtnVal = SOAPSetRequestContent(SoapReq, SoapBody, 1) * Submit the Request RtnVal = SOAPSubmitRequest(SoapReq, Timeout, RespHeaders, RespData, SoapStatus) There's obviously more error trapping in the live version, but I stripped it out for this example just to show the process flow. SoapURL contains the URL to the web service (https://.../VerifyService.asmx), and SoapAction, NameSpace and Method contain the appropriate data specified in the WSDL. The Response headers and data are returned in RespHeaders and RespData respectively. Hope this helps... Larry Hiscock Western Computer Services -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Long Sent: Wednesday, July 27, 2011 11:23 AM To: U2 Users List Subject: Re: [U2] SOAP Header Thanks Larry. They are on 7.2. Currently we are using the SOAPCreateRequest, SOAPSetRequestContent, and SOAPSubmitRequest functions only. I would like to avoid adding the header info to the SOAP body if possible, but if not, how did you do it? Did you surround it by the Header tags or did you just put the info at the beginning of the body? Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Larry Hiscock Sent: Wednesday, July 27, 2011 9:32 AM To: 'U2 Users List' Subject: Re: [U2] SOAP Header Hi Steve, What version of UD and on what platform? The reason I ask is that we have a client that is stuck on UD v6.1 for the time being (because they're on SCO OpenServer). At that rev and on that platform, we ran into issues using some of the SOAP functions. We were able to work around it, but only ended up using the SOAPCreateSecureRequest(), SOAPSetRequestContent() and SOAPSubmitRequest() functions. We built our own SOAP headers into the SOAP body that is passed to SOAPSetRequestContent(). You might also try turning on Protocol Logging. It does give some mostly useful information about exactly where your SOAP transaction is failing. VAR = protocolLogging(/path.../soapprotocol.log, ON, 7) Larry Hiscock Western Computer Services PH: 661-255-0235 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Long Sent: Wednesday, July 27, 2011 9:05 AM To: U2 Users List Subject: [U2] SOAP Header Hi All - I am using the Unidata functionality to do SOAP calls and I now need to specify header information to call a SSL page. It is failing because there is not info in the header. The documentation is very sparse on this, as you all know. Anyone have any insight on how to specify header info using the SOAPSetRequestHeader function? Thanks in advance! Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman
Re: [U2] SOAP Header
Thanks Larry. I think we need to try the secureRequest, but I haven't messed with the setup. I see you are doing loadSecurityContext. How did you create the context? Via the saveSecurityContext? Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Larry Hiscock Sent: Wednesday, July 27, 2011 11:47 AM To: 'U2 Users List' Subject: Re: [U2] SOAP Header Here's an example of one we're using to validate mailing addresses (the indentation is just for readability): * Build the SOAP request SoapBody = '?xml version=1.0 encoding=UTF-8?' SoapBody := 'soap:Envelope xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;' SoapBody := ' xmlns:xsd=http://www.w3.org/2001/XMLSchema;' SoapBody := ' xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/;' SoapBody := ' soap:Body' SoapBody := ' ':Method:' xmlns=':NameSpace:'' SoapBody := 'request' SoapBody := ' Addresses' SoapBody := 'AddressRequest' SoapBody := ' Addressee':ADDRESSEE:'/Addressee' SoapBody := ' Street':ADDRESS:'/Street' SoapBody := ' Street2':ADDRESS2:'/Street2' SoapBody := ' City':CITY:'/City' SoapBody := ' State':STATE:'/State' SoapBody := ' ZipCode':ZIPCODE:'/ZipCode' SoapBody := ' LastLine':LASTLINE:'/LastLine' SoapBody := '/AddressRequest' SoapBody := ' /Addresses' SoapBody := ' Suggestions':MaxSugg:'/Suggestions' SoapBody := '/request' SoapBody := ' /':Method:'' SoapBody := ' /soap:Body' SoapBody := '/soap:Envelope' * Load the security context RtnVal = loadSecurityContext(Context, ContextName, password) * Create the Request RtnVal = SOAPCreateSecureRequest(SoapURL, SoapAction, SoapReq, Context) * Set up the Request Content RtnVal = SOAPSetRequestContent(SoapReq, SoapBody, 1) * Submit the Request RtnVal = SOAPSubmitRequest(SoapReq, Timeout, RespHeaders, RespData, SoapStatus) There's obviously more error trapping in the live version, but I stripped it out for this example just to show the process flow. SoapURL contains the URL to the web service (https://.../VerifyService.asmx), and SoapAction, NameSpace and Method contain the appropriate data specified in the WSDL. The Response headers and data are returned in RespHeaders and RespData respectively. Hope this helps... Larry Hiscock Western Computer Services -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Long Sent: Wednesday, July 27, 2011 11:23 AM To: U2 Users List Subject: Re: [U2] SOAP Header Thanks Larry. They are on 7.2. Currently we are using the SOAPCreateRequest, SOAPSetRequestContent, and SOAPSubmitRequest functions only. I would like to avoid adding the header info to the SOAP body if possible, but if not, how did you do it? Did you surround it by the Header tags or did you just put the info at the beginning of the body? Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Larry Hiscock Sent: Wednesday, July 27, 2011 9:32 AM To: 'U2 Users List' Subject: Re: [U2] SOAP Header Hi Steve, What version of UD and on what platform? The reason I ask is that we have a client that is stuck on UD v6.1 for the time being (because they're on SCO OpenServer). At that rev and on that platform, we ran into issues using some of the SOAP functions. We were able to work around it, but only ended up using the SOAPCreateSecureRequest(), SOAPSetRequestContent() and SOAPSubmitRequest() functions. We built our own SOAP headers into the SOAP body that is passed to SOAPSetRequestContent(). You might also try turning on Protocol Logging. It does give some mostly useful information about exactly where your SOAP transaction is failing. VAR = protocolLogging(/path.../soapprotocol.log, ON, 7) Larry Hiscock Western Computer Services PH: 661-255-0235 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Long Sent: Wednesday, July 27, 2011 9:05 AM To: U2 Users List Subject: [U2] SOAP Header Hi All - I am using the Unidata functionality to do SOAP calls and I now need to specify header information to call a SSL page. It is failing because there is not info in the header. The documentation is very sparse on this, as you all know. Anyone have any insight on how to specify header info using the SOAPSetRequestHeader function? Thanks in advance! Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax
Re: [U2] SOAP Header
It's been a while since I've created one, but IIRC, the easiest way is to use UniAdmin to create a CSR, then a self-signed certificate (or you can purchase a cert using the CSR) and the security context. Check out the UniData Security Features guide at http://www.rocketsoftware.com/u2/products/unidata/resources/manuals/security -v7r2.pdf/view Larry Hiscock Western Computer Services -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Long Sent: Wednesday, July 27, 2011 11:57 AM To: U2 Users List Subject: Re: [U2] SOAP Header Thanks Larry. I think we need to try the secureRequest, but I haven't messed with the setup. I see you are doing loadSecurityContext. How did you create the context? Via the saveSecurityContext? Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Larry Hiscock Sent: Wednesday, July 27, 2011 11:47 AM To: 'U2 Users List' Subject: Re: [U2] SOAP Header Here's an example of one we're using to validate mailing addresses (the indentation is just for readability): * Build the SOAP request SoapBody = '?xml version=1.0 encoding=UTF-8?' SoapBody := 'soap:Envelope xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;' SoapBody := ' xmlns:xsd=http://www.w3.org/2001/XMLSchema;' SoapBody := ' xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/;' SoapBody := ' soap:Body' SoapBody := ' ':Method:' xmlns=':NameSpace:'' SoapBody := 'request' SoapBody := ' Addresses' SoapBody := 'AddressRequest' SoapBody := ' Addressee':ADDRESSEE:'/Addressee' SoapBody := ' Street':ADDRESS:'/Street' SoapBody := ' Street2':ADDRESS2:'/Street2' SoapBody := ' City':CITY:'/City' SoapBody := ' State':STATE:'/State' SoapBody := ' ZipCode':ZIPCODE:'/ZipCode' SoapBody := ' LastLine':LASTLINE:'/LastLine' SoapBody := '/AddressRequest' SoapBody := ' /Addresses' SoapBody := ' Suggestions':MaxSugg:'/Suggestions' SoapBody := '/request' SoapBody := ' /':Method:'' SoapBody := ' /soap:Body' SoapBody := '/soap:Envelope' * Load the security context RtnVal = loadSecurityContext(Context, ContextName, password) * Create the Request RtnVal = SOAPCreateSecureRequest(SoapURL, SoapAction, SoapReq, Context) * Set up the Request Content RtnVal = SOAPSetRequestContent(SoapReq, SoapBody, 1) * Submit the Request RtnVal = SOAPSubmitRequest(SoapReq, Timeout, RespHeaders, RespData, SoapStatus) There's obviously more error trapping in the live version, but I stripped it out for this example just to show the process flow. SoapURL contains the URL to the web service (https://.../VerifyService.asmx), and SoapAction, NameSpace and Method contain the appropriate data specified in the WSDL. The Response headers and data are returned in RespHeaders and RespData respectively. Hope this helps... Larry Hiscock Western Computer Services -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Long Sent: Wednesday, July 27, 2011 11:23 AM To: U2 Users List Subject: Re: [U2] SOAP Header Thanks Larry. They are on 7.2. Currently we are using the SOAPCreateRequest, SOAPSetRequestContent, and SOAPSubmitRequest functions only. I would like to avoid adding the header info to the SOAP body if possible, but if not, how did you do it? Did you surround it by the Header tags or did you just put the info at the beginning of the body? Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Larry Hiscock Sent: Wednesday, July 27, 2011 9:32 AM To: 'U2 Users List' Subject: Re: [U2] SOAP Header Hi Steve, What version of UD and on what platform? The reason I ask is that we have a client that is stuck on UD v6.1 for the time being (because they're on SCO OpenServer). At that rev and on that platform, we ran into issues using some of the SOAP functions. We were able to work around it, but only ended up using the SOAPCreateSecureRequest(), SOAPSetRequestContent() and SOAPSubmitRequest() functions. We built our own SOAP headers into the SOAP body that is passed to SOAPSetRequestContent(). You might also try turning on Protocol Logging. It does give some mostly useful information about exactly where your SOAP transaction is failing. VAR = protocolLogging(/path.../soapprotocol.log, ON, 7) Larry Hiscock Western Computer Services PH: 661-255-0235 -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Long Sent
Re: [U2] SOAP Header
Thanks for your help Larry! Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Larry Hiscock Sent: Wednesday, July 27, 2011 12:21 PM To: 'U2 Users List' Subject: Re: [U2] SOAP Header It's been a while since I've created one, but IIRC, the easiest way is to use UniAdmin to create a CSR, then a self-signed certificate (or you can purchase a cert using the CSR) and the security context. Check out the UniData Security Features guide at http://www.rocketsoftware.com/u2/products/unidata/resources/manuals/secu rity -v7r2.pdf/view Larry Hiscock Western Computer Services -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Long Sent: Wednesday, July 27, 2011 11:57 AM To: U2 Users List Subject: Re: [U2] SOAP Header Thanks Larry. I think we need to try the secureRequest, but I haven't messed with the setup. I see you are doing loadSecurityContext. How did you create the context? Via the saveSecurityContext? Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Larry Hiscock Sent: Wednesday, July 27, 2011 11:47 AM To: 'U2 Users List' Subject: Re: [U2] SOAP Header Here's an example of one we're using to validate mailing addresses (the indentation is just for readability): * Build the SOAP request SoapBody = '?xml version=1.0 encoding=UTF-8?' SoapBody := 'soap:Envelope xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;' SoapBody := ' xmlns:xsd=http://www.w3.org/2001/XMLSchema;' SoapBody := ' xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/;' SoapBody := ' soap:Body' SoapBody := ' ':Method:' xmlns=':NameSpace:'' SoapBody := 'request' SoapBody := ' Addresses' SoapBody := 'AddressRequest' SoapBody := ' Addressee':ADDRESSEE:'/Addressee' SoapBody := ' Street':ADDRESS:'/Street' SoapBody := ' Street2':ADDRESS2:'/Street2' SoapBody := ' City':CITY:'/City' SoapBody := ' State':STATE:'/State' SoapBody := ' ZipCode':ZIPCODE:'/ZipCode' SoapBody := ' LastLine':LASTLINE:'/LastLine' SoapBody := '/AddressRequest' SoapBody := ' /Addresses' SoapBody := ' Suggestions':MaxSugg:'/Suggestions' SoapBody := '/request' SoapBody := ' /':Method:'' SoapBody := ' /soap:Body' SoapBody := '/soap:Envelope' * Load the security context RtnVal = loadSecurityContext(Context, ContextName, password) * Create the Request RtnVal = SOAPCreateSecureRequest(SoapURL, SoapAction, SoapReq, Context) * Set up the Request Content RtnVal = SOAPSetRequestContent(SoapReq, SoapBody, 1) * Submit the Request RtnVal = SOAPSubmitRequest(SoapReq, Timeout, RespHeaders, RespData, SoapStatus) There's obviously more error trapping in the live version, but I stripped it out for this example just to show the process flow. SoapURL contains the URL to the web service (https://.../VerifyService.asmx), and SoapAction, NameSpace and Method contain the appropriate data specified in the WSDL. The Response headers and data are returned in RespHeaders and RespData respectively. Hope this helps... Larry Hiscock Western Computer Services -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Steve Long Sent: Wednesday, July 27, 2011 11:23 AM To: U2 Users List Subject: Re: [U2] SOAP Header Thanks Larry. They are on 7.2. Currently we are using the SOAPCreateRequest, SOAPSetRequestContent, and SOAPSubmitRequest functions only. I would like to avoid adding the header info to the SOAP body if possible, but if not, how did you do it? Did you surround it by the Header tags or did you just put the info at the beginning of the body? Thanks, Steve Long Spyderweb Technical Services, Inc. (360) 687-8797 Washington (503) 406-8797 Oregon (866) 354-5913 Fax -Original Message- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Larry Hiscock Sent: Wednesday, July 27, 2011 9:32 AM To: 'U2 Users List' Subject: Re: [U2] SOAP Header Hi Steve, What version of UD and on what platform? The reason I ask is that we have a client that is stuck on UD v6.1 for the time being (because they're on SCO OpenServer). At that rev and on that platform, we ran into issues using some of the SOAP functions. We were able to work around it, but only ended up using the SOAPCreateSecureRequest(), SOAPSetRequestContent() and SOAPSubmitRequest() functions. We built our own SOAP headers into the SOAP body that is passed to SOAPSetRequestContent(). You might also try turning
Re: [U2] SOAP Header
I'm confused. Exactly what is setting the Host: http header in the SOAP request? ___ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users