[Q] Problem in Soap Processing

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[Q] Problem in Soap Processing

Chun, Sungjin
Hi,

I've create both server/client in SoapCore in Squeak. The problem is that
when I send request to receive array of dictionary the client, the client
shows error which seems related to SoapHref. The response from server is

<env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/"
env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
 <env:Body>
  <m:directoryContentsResponse xmlns:m="http://www.nxiss.com/service">
   <result xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/" enc:arrayType="xsd:anyType[14]">
    <item>
     <Name xsi:type="xsd:string">bgnet_A4.pdf</Name>
     <CreationTime xsi:type="xsd:positiveInteger">3360225158</CreationTime>
     <IsDirectory id="4035" xsi:type="xsd:boolean">false</IsDirectory>
     <FileSize xsi:type="xsd:integer">414313</FileSize>
     <ModificationTime xsi:type="xsd:positiveInteger">3360225155</ModificationTime>
    </item>
    <item>
     <Name xsi:type="xsd:string">Main.js</Name>
     <CreationTime xsi:type="xsd:positiveInteger">3360158456</CreationTime>
     <IsDirectory href="#4035"></IsDirectory>
     <FileSize xsi:type="xsd:integer">48579</FileSize>
     <ModificationTime xsi:type="xsd:positiveInteger">3360157683</ModificationTime>
    </item>
    <item>
     <Name xsi:type="xsd:string">Seaside2.8a1-pmm.382.mcz</Name>
     <CreationTime xsi:type="xsd:positiveInteger">3360309391</CreationTime>
     <IsDirectory href="#4035"></IsDirectory>
     <FileSize xsi:type="xsd:integer">453934</FileSize>
     <ModificationTime xsi:type="xsd:positiveInteger">3360309391</ModificationTime>
    </item>
    <item>
     <Name xsi:type="xsd:string">BmdEmail-bmd.1.mcz</Name>
     <CreationTime xsi:type="xsd:positiveInteger">3360144764</CreationTime>
     <IsDirectory href="#4035"></IsDirectory>
     <FileSize xsi:type="xsd:integer">14562</FileSize>
     <ModificationTime xsi:type="xsd:positiveInteger">3358431079</ModificationTime>
    </item>
    <item>
     <Name xsi:type="xsd:string">FileMan-mu.98.mcz</Name>
     <CreationTime xsi:type="xsd:positiveInteger">3360144922</CreationTime>
     <IsDirectory href="#4035"></IsDirectory>
     <FileSize xsi:type="xsd:integer">32655</FileSize>
     <ModificationTime xsi:type="xsd:positiveInteger">3358410615</ModificationTime>
    </item>
    <item>
     <Name xsi:type="xsd:string">jUploadr</Name>
     <CreationTime xsi:type="xsd:positiveInteger">3360144212</CreationTime>
     <IsDirectory id="217" xsi:type="xsd:boolean">true</IsDirectory>
     <FileSize id="2491" xsi:type="xsd:integer">0</FileSize>
     <ModificationTime xsi:type="xsd:positiveInteger">3358777691</ModificationTime>
    </item>
    <item>
     <Name xsi:type="xsd:string">SoapCore20070508</Name>
     <CreationTime xsi:type="xsd:positiveInteger">3360144212</CreationTime>
     <IsDirectory href="#217"></IsDirectory>
     <FileSize href="#2491"></FileSize>
     <ModificationTime xsi:type="xsd:positiveInteger">3358419762</ModificationTime>
    </item>
    <item>
     <Name xsi:type="xsd:string">jets3t-0.5.1-20070425.zip</Name>
     <CreationTime xsi:type="xsd:positiveInteger">3360144922</CreationTime>
     <IsDirectory href="#4035"></IsDirectory>
     <FileSize xsi:type="xsd:integer">9471054</FileSize>
     <ModificationTime xsi:type="xsd:positiveInteger">3358539537</ModificationTime>
    </item>
    <item>
     <Name xsi:type="xsd:string">s3-raw-http-example.zip</Name>
     <CreationTime xsi:type="xsd:positiveInteger">3360144922</CreationTime>
     <IsDirectory href="#4035"></IsDirectory>
     <FileSize xsi:type="xsd:integer">1535</FileSize>
     <ModificationTime xsi:type="xsd:positiveInteger">3358539573</ModificationTime>
    </item>
    <item>
     <Name xsi:type="xsd:string">squirrelmail-1.4.10a</Name>
     <CreationTime xsi:type="xsd:positiveInteger">3360144212</CreationTime>
     <IsDirectory href="#217"></IsDirectory>
     <FileSize href="#2491"></FileSize>
     <ModificationTime xsi:type="xsd:positiveInteger">3356271056</ModificationTime>
    </item>
    <item>
     <Name xsi:type="xsd:string">capri_Naver_Dictionary_Widget_v1.9</Name>
     <CreationTime xsi:type="xsd:positiveInteger">3360144212</CreationTime>
     <IsDirectory href="#217"></IsDirectory>
     <FileSize href="#2491"></FileSize>
     <ModificationTime xsi:type="xsd:positiveInteger">3358444358</ModificationTime>
    </item>
    <item>
     <Name xsi:type="xsd:string">Seaside2.8a1-lr.381.mcz</Name>
     <CreationTime xsi:type="xsd:positiveInteger">3360217379</CreationTime>
     <IsDirectory href="#4035"></IsDirectory>
     <FileSize xsi:type="xsd:integer">453339</FileSize>
     <ModificationTime xsi:type="xsd:positiveInteger">3360217379</ModificationTime>
    </item>
    <item>
     <Name xsi:type="xsd:string">AWSECommerceService.wsdl</Name>
     <CreationTime xsi:type="xsd:positiveInteger">3360144922</CreationTime>
     <IsDirectory href="#4035"></IsDirectory>
     <FileSize xsi:type="xsd:integer">146741</FileSize>
     <ModificationTime xsi:type="xsd:positiveInteger">3358675341</ModificationTime>
    </item>
    <item>
     <Name xsi:type="xsd:string">Scriptaculous-pmm.202.mcz</Name>
     <CreationTime xsi:type="xsd:positiveInteger">3360217385</CreationTime>
     <IsDirectory href="#4035"></IsDirectory>
     <FileSize xsi:type="xsd:integer">310641</FileSize>
     <ModificationTime xsi:type="xsd:positiveInteger">3360217385</ModificationTime>
    </item>
   </result>
  </m:directoryContentsResponse>
 </env:Body>
</env:Envelope>

It seems that main cause of error is in Array>>elementsForwardIdentityTo: otherArray, which
is primitive and this primitive failure is main cause of error. This message is sent to array of single
element(a SoapHref) with #(0) as a argument.

Thanks in advance.

PS)
Href's in Soap Request/Response is normal? I haven't seen this before. Can I turn this off?

Reply | Threaded
Open this post in threaded view
|

Re: [Q] Problem in Soap Processing

Masashi UMEZAWA-2
Hi,

> It seems that main cause of error is in Array>>elementsForwardIdentityTo: otherArray, which
> is primitive and this primitive failure is main cause of error. This message is sent to array of single
> element(a SoapHref) with #(0) as a argument.
>

The error seems to be related to SoapHref>>safeBecomeForward:. I
thought it was fixed in the 20070508 version of SOAP on SM. Anyway the
latest version (not released on SM yet) is here:

http://squeaksource.blueplane.jp/SoapCore.html

I could not reproduce the error when I read the envelope like:

envelopeBuilder := SoapEnvelopeBuilder new.
testXML := (FileStream readOnlyFileNamed: 'yourEnvelope.txt')
contentsOfEntireFile.
returnEnvelope := envelopeBuilder buildSoapEnvelopeFromXmlString: testXML.
message := SoapMessage envelope: returnEnvelope.
resp := SoapResponse fromSoapMessage: message.
value := resp returnValue. "inspect it"

So, could you send me SqueakDebug.log? (or DebugReport html is best,
if possible).

> Thanks in advance.
>
> PS)
> Href's in Soap Request/Response is normal? I haven't seen this before. Can I turn this off?
>
It is normal and .NET SOAP implementations use Hrefs quite often, so I
had to add this feature. However, for primitive types, the latest
SoapCore does not use Href. So your problem might be solved by
updating SOAP.

Cheers,
--
[:masashi | ^umezawa]

Reply | Threaded
Open this post in threaded view
|

Re: [Q] Problem in Soap Processing

Masashi UMEZAWA-2
Hi,

> The error seems to be related to SoapHref>>safeBecomeForward:. I
> thought it was fixed in the 20070508 version of SOAP on SM. Anyway the
> latest version (not released on SM yet) is here:
>
> http://squeaksource.blueplane.jp/SoapCore.html

Oops, URL was wrong.
http://squeaksource.blueplane.jp/SOAP/

Cheers,
--
[:masashi | ^umezawa]

Reply | Threaded
Open this post in threaded view
|

Re: Re: [Q] Problem in Soap Processing

Chun, Sungjin
In reply to this post by Chun, Sungjin
 Thank you very much.

----- Original Message -----
   From: Masashi UMEZAWA <[hidden email]>
   To: "\"S.J.Chun\"" <[hidden email]>, The general-purpose Squeak developers list <[hidden email]>
   Sent: 07-06-26 14:57:00
   Subject: Re: Re: [Q] Problem in Soap Processing

  Hi,

> It seems that main cause of error is in Array>>elementsForwardIdentityTo: otherArray, which
> is primitive and this primitive failure is main cause of error. This message is sent to array of single
> element(a SoapHref) with #(0) as a argument.
>

The error seems to be related to SoapHref>>safeBecomeForward:. I
thought it was fixed in the 20070508 version of SOAP on SM. Anyway the
latest version (not released on SM yet) is here:

http://squeaksource.blueplane.jp/SoapCore.html

I could not reproduce the error when I read the envelope like:

envelopeBuilder := SoapEnvelopeBuilder new.
testXML := (FileStream readOnlyFileNamed: 'yourEnvelope.txt')
contentsOfEntireFile.
returnEnvelope := envelopeBuilder buildSoapEnvelopeFromXmlString: testXML.
message := SoapMessage envelope: returnEnvelope.
resp := SoapResponse fromSoapMessage: message.
value := resp returnValue. "inspect it"

So, could you send me SqueakDebug.log? (or DebugReport html is best,
if possible).

> Thanks in advance.
>
> PS)
> Href's in Soap Request/Response is normal? I haven't seen this before. Can I turn this off?
>
It is normal and .NET SOAP implementations use Hrefs quite often, so I
had to add this feature. However, for primitive types, the latest
SoapCore does not use Href. So your problem might be solved by
updating SOAP.

Cheers,
--
[:masashi | ^umezawa]