in reply to SOAP::LITE Gateway Timeout

Firstly, the response you are getting from the server is coming from a caching proxy and not from the SOAP server - this is possibly because you are using an incorrect URL or there is some other network issue: are you able to contact the URL http://psdappweb1.csa.scot.nhs.uk:7782/PRS/PRSRegistration from a web browser from the same machine as you are running the SOAP client on? Secondly it appears from the WSDL port definition that you should actually be using the URI  http://psdappweb1.csa.scot.nhs.uk:7781/PRS/PRSDataRefresh.

On closer inspection it would appear that there is something wrong with the WSDL file anyway - using the MS WSDL tool I get:

Error: Unable to import binding 'PRSReceiveMessageInterfaceBinding' fr +om namespace 'http://com.nandb.pharmacy.ws/PRSReceiveMessageInterface +.wsdl'. - Unable to import operation 'ReceiveMessage'. - The element 'http://www.w3.org/2001/XMLSchema:any' is missing.
This does not preclude the web service from working but does make it difficult to verify it and/or autogenerate client proxy code.

/J\

Replies are listed 'Best First'.
Re^2: SOAP::LITE Gateway Timeout
by Anonymous Monk on Jan 18, 2005 at 16:57 UTC
    Thanks for that. When I try port 7781 I get: <PRSAcknowledgeEnv xmlns="http://www.eps.nds.scot.nhs.uk" xmlns:xsi="h +ttp://www. w3.org/2001/XMLSchema-instance" SchemaVersion="1.3"><TransactionHeader + SchemaVer sion="1.1"><MsgPriority>immediate</MsgPriority><MsgStatus>test</MsgSta +tus><Sende rDetails><OrganisationType>PRS</OrganisationType><OrganisationID>1100< +/Organisat ionID><OrganisationName>PSD Operations</OrganisationName></SenderDetai +ls><Softwa re><ProductName ProductVersion="1.0">PRS</ProductName><ProductAuthor>N +ewell and Budge LTD</ProductAuthor></Software><AppServiceName ServiceVersion="1. +0">PRS</Ap pServiceName><AppSTTL>3600</AppSTTL><AppTransID>00000000-0000-0000-000 +0-00000000 0000</AppTransID><AppTransStepRef>1</AppTransStepRef><AppTransDateTime +>2005-01-1 8T16:56:00-00:00</AppTransDateTime><MsgCategory>single</MsgCategory><A +ppBodyType Qty>1</AppBodyTypeQty><BodyDefinitions><BodyDefinition><Name>PRSAcknow +ledge</Nam e><Position>1</Position><Count>1</Count><Signing>false</Signing></Body +Definition ></BodyDefinitions></TransactionHeader><AppBodies><PRSAcknowledge Sche +maVersion= "1.3"><Code>10103
    <Description>PRS system not currently available</Descrip tion>
    PRS System not currently available: null
    </PRSAcknowledge ></AppBodies></PRSAcknowledgeEnv> ..even though I know the service is working and has just successfully processed the same message via dotnet and java. </code>

      Note from the trace output of the script what you are sending as the SOAP body:

      <SOAP-ENV:Body> <namesp1:ReceiveMessage xmlns:namesp1="urn:oracle:ReceiveMessage"> <c-gensym3 xsi:type="xsd:string">SOAP::Data=HASH(0x20fad58)</c-ge +nsym3> </namesp1:ReceiveMessage> </SOAP-ENV:Body>
      I guess that you were actually intending to sending the contents of $xml rather than the stringified SOAP::Data object in $data. Of course without knowing the precise document you are supposed to be sending it's difficult to say more.

      /J\