Okay, the following is the SOAP client which I mocked up to test this WSDL - Note that I have deliberately obscured your customer ID number in the example below.
#!/opt/bin/perl
use SOAP::Lite +trace;
my $result = SOAP::Lite
->service('http://www.thedialogcenter.com/EncryptionService.ws
+dl')
->Encrypt('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'Testing');
print $result, "\n";
Including the SOAP::Lite trace showed me that the following request was sent to the location https://secure.arkansasbluecross.com/WebServices/EncryptionService.asmx.
Accept: text/xml
Accept: multipart/*
Content-Length: 529
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://www.arkbluecross.com/WebServices/EncryptionService
+/Encrypt"
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-EN
+C="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle=
+"http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://sc
+hemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/X
+MLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema"><SOAP
+-ENV:Body><Encrypt xmlns=""><parameters>xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+xxx</parameters><c-gensym4 xsi:type="xsd:string">Testing</c-gensym4><
+/Encrypt></SOAP-ENV:Body></SOAP-ENV:Envelope>
To this, the server responded:
Cache-Control: private
Date: Wed, 14 Apr 2004 02:34:05 GMT
Server: Microsoft-IIS/5.0
Content-Length: 984
Content-Type: text/xml; charset=utf-8
Client-Date: Wed, 14 Apr 2004 02:35:30 GMT
Client-Peer: 209.184.52.154:443
Client-Response-Num: 1
Client-SSL-Cert-Issuer: /O=VeriSign Trust Network/OU=VeriSign, Inc./OU
+=VeriSign International Server CA - Class 3/OU=www.verisign.com/CPS I
+ncorp.by Ref. LIABILITY LTD.(c)97 VeriSign
Client-SSL-Cert-Subject: /C=US/ST=Arkansas/L=Little Rock/O=Arkansas Bl
+ue Cross and Blue Shield A Mutual Insurance Company/OU=Infrastructure
+ Management/OU=Terms of use at www.verisign.com/rpa (c)00/CN=secure.a
+rkansasbluecross.com
Client-SSL-Cipher: RC4-MD5
Client-SSL-Warning: Peer certificate not verified
X-AspNet-Version: 1.1.4322
X-Powered-By: ASP.NET
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
+xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http
+://www.w3.org/2001/XMLSchema">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>System.Web.Services.Protocols.SoapException: Server
+ was unable to process request. ---> System.ArgumentNullException:
+ ArgumentNull_String
Parameter name: g
at System.Guid..ctor(String g)
at ABCBS.IWD.WebServices.EncryptionService.GetCustomerKeys(String C
+ustID, Int32 Timeout) in C:\Projects\Common\WebServicesSolution\WebSe
+rvices\EncryptionService.asmx.vb:line 104
at ABCBS.IWD.WebServices.EncryptionService.Encrypt(String CustID, S
+tring Data) in C:\Projects\Common\WebServicesSolution\WebServices\Enc
+ryptionService.asmx.vb:line 50
--- End of inner exception stack trace ---</faultstring>
<detail />
</soap:Fault>
</soap:Body>
</soap:Envelope>
It would appear that SOAP::Lite is failing to encode the customer ID parameter correctly. Whilst this doesn't answer your question as to how to solve this problem, it may provide you with some additional information in your search for an answer. Note that there are still some gaps in the WSDL implementation in SOAP::Lite and as such, you may be better off to specify the service details manually or build the body using SOAP::Data::Builder.
perl -le "print unpack'N', pack'B32', '00000000000000000000001011001110'"
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|