From: tom.rmadilo on
On Mar 25, 11:21 am, credit card fraud - citibank and spiceJet
<msubbare...(a)gmail.com> wrote:
> On Mar 2, 8:09 am, "Larry W. Virden" <lvir...(a)gmail.com> wrote:
>
> > On Mar 1, 7:44 pm, "tom.rmadilo" <tom.rmad...(a)gmail.com> wrote:
>
> > > A SOAP package that old is bound to be useless. Most web services have
> > > moved from rpc/encoded (slow an proprietary) to document/literal
> > > (faster and generic). And the entire conversation is encoded in a
> > > "generic" WSDL file.
>
> > Thanks for the feedback. I will have to check with the developers to
> > see whether WS::Client is something in which they wish to investigate.
>
> Hi, I need help on the tcl soap/webservices.
> currently, trying with tclws and tclsoap.
> But, tclws is constructing the elements with extr "xs:", so, server is
> not understand the subelements.
> Please advise with any clues.
>
> URL:http://code.google.com/p/tclws/issues/detail?id=7
> URL:http://code.google.com/p/tclws/issues/detail?id=8
>
> Here are the details
> Please provide any additional information below.
> How to send the soap request - elements without "xs:" within method
> element, as mentioned in the "What is expected output section".
> My soap server (tomcat/aix2/wsld1.1), does not able to understand the
> request,
> because, element tags are prefixed with "xs:" under the method tag.
>
> Please suggest, how to stop prefixing the "xs:" in the elements, which
> are
> parameters to method.
>
> What steps will reproduce the problem?
> 1. package require WS::Client
> 2. ::WS::Client::GetAndParseWsdl $URL
> 3. ::WS::Client::CreateStubs emsprov
> 4. ::emsprov::getDevice "1" [list "options" a ] "1">> Error at tclsh prompt --
>
> org.apache.axis2.databinding.ADBException: Unexpected subelement
> transactionID
>
> What version of the product are you using? On what operating system?
> WebServices-1.1.2.zip
> tDOM-0.8.2
> tclsh8.5
> x86_64 x86_64 x86_64 GNU/Linux SUSE
>
> What is the expected output?
>
> <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-
> instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:urn="urn:emsprov">
>    <soapenv:Header/>
>    <soapenv:Body>
>       <urn:getDevice
> soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
>          <transactionID xsi:type="xsd:string">1</transactionID>
>          <deviceUID xsi:type="xsd:string">1</deviceUID>
>          <options xsi:type="urn:ArrayOfKeyValue">
>             <!--Zero or more repetitions:-->
>             <item xsi:type="urn:KeyValue">
>                <key xsi:type="xsd:string">k1</key>
>                <value xsi:type="xsd:string">v1</value>
>             </item>
>          </options>
>       </urn:getDevice>
>    </soapenv:Body>
> </soapenv:Envelope>
>
> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>    <soapenv:Body>
>       <ns1:getDeviceResponse xmlns:ns1="urn:emsprov">
>          <transactionID>1</transactionID>
>          <status>0</status>
>          <description/>
>          <deviceUID>1</deviceUID>
>          <developmentUID>1</developmentUID>
>          <deviceType>deviceType</deviceType>
>          <deviceModel>deviceModel</deviceModel>
>          <deviceManufacturer>deviceManufacturer</deviceManufacturer>
>          <deviceAttributes>
>             <item>
>                <key>Key1</key>
>                <value>Value1</value>
>             </item>
>          </deviceAttributes>
>       </ns1:getDeviceResponse>
>    </soapenv:Body>
> </soapenv:Envelope>
>
> What do you see instead?
> <?xml version='1.0' encoding='utf-8'?>
> <SOAP-ENV:Envelope xmlns:SOAP-
> ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:tns1="urn:emsprov"
> xmlns:xs="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>   <SOAP-ENV:Body>
>     <tns1:getDevice SOAP-
> ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
>       <xs:transactionID xsi:type="xs:string">1</xs:transactionID>
>       <xs:deviceUID xsi:type="xs:string">1</xs:deviceUID>
>       <xs:options xsi:type="xs:ArrayOfKeyValue" />
>     </tns1:getDevice>
>   </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
> <?xml version='1.0' encoding='utf-8'?>
> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
>   <soapenv:Body>
>     <soapenv:Fault>
>       <faultcode>soapenv:Server</faultcode>
>       <faultstring>org.apache.axis2.databinding.ADBException:
> Unexpected
> subelement transactionID</faultstring>
>       <detail />
>     </soapenv:Fault>
>   </soapenv:Body>
> </soapenv:Envelope>

This looks like a "server" error, as opposed to a "client" error. That
should mean that the request you sent was in a correct form, but maybe
the data you sent wasn't accepted by the server.

If you notice, your "options" element is empty. The example shows this
is valid, but maybe you need a value in there.

Is it possible to send a multi-depth document with WS::Client? My
guess is yes, since you send a dictionary, but an example would be
nice.

From: credit card fraud - citibank and spiceJet on
On Mar 25, 4:33 pm, "tom.rmadilo" <tom.rmad...(a)gmail.com> wrote:
> On Mar 25, 11:21 am, credit card fraud - citibank and spiceJet
>
>
>
>
>
> <msubbare...(a)gmail.com> wrote:
> > On Mar 2, 8:09 am, "Larry W. Virden" <lvir...(a)gmail.com> wrote:
>
> > > On Mar 1, 7:44 pm, "tom.rmadilo" <tom.rmad...(a)gmail.com> wrote:
>
> > > > A SOAP package that old is bound to be useless. Most web services have
> > > > moved from rpc/encoded (slow an proprietary) to document/literal
> > > > (faster and generic). And the entire conversation is encoded in a
> > > > "generic" WSDL file.
>
> > > Thanks for the feedback. I will have to check with the developers to
> > > see whether WS::Client is something in which they wish to investigate..
>
> > Hi, I need help on the tcl soap/webservices.
> > currently, trying with tclws and tclsoap.
> > But, tclws is constructing the elements with extr "xs:", so, server is
> > not understand the subelements.
> > Please advise with any clues.
>
> > URL:http://code.google.com/p/tclws/issues/detail?id=7
> > URL:http://code.google.com/p/tclws/issues/detail?id=8
>
> > Here are the details
> > Please provide any additional information below.
> > How to send the soap request - elements without "xs:" within method
> > element, as mentioned in the "What is expected output section".
> > My soap server (tomcat/aix2/wsld1.1), does not able to understand the
> > request,
> > because, element tags are prefixed with "xs:" under the method tag.
>
> > Please suggest, how to stop prefixing the "xs:" in the elements, which
> > are
> > parameters to method.
>
> > What steps will reproduce the problem?
> > 1. package require WS::Client
> > 2. ::WS::Client::GetAndParseWsdl $URL
> > 3. ::WS::Client::CreateStubs emsprov
> > 4. ::emsprov::getDevice "1" [list "options" a ] "1">> Error at tclsh prompt --
>
> > org.apache.axis2.databinding.ADBException: Unexpected subelement
> > transactionID
>
> > What version of the product are you using? On what operating system?
> > WebServices-1.1.2.zip
> > tDOM-0.8.2
> > tclsh8.5
> > x86_64 x86_64 x86_64 GNU/Linux SUSE
>
> > What is the expected output?
>
> > <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-
> > instance"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> > xmlns:urn="urn:emsprov">
> >    <soapenv:Header/>
> >    <soapenv:Body>
> >       <urn:getDevice
> > soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
> >          <transactionID xsi:type="xsd:string">1</transactionID>
> >          <deviceUID xsi:type="xsd:string">1</deviceUID>
> >          <options xsi:type="urn:ArrayOfKeyValue">
> >             <!--Zero or more repetitions:-->
> >             <item xsi:type="urn:KeyValue">
> >                <key xsi:type="xsd:string">k1</key>
> >                <value xsi:type="xsd:string">v1</value>
> >             </item>
> >          </options>
> >       </urn:getDevice>
> >    </soapenv:Body>
> > </soapenv:Envelope>
>
> > <soapenv:Envelope
> > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
> >    <soapenv:Body>
> >       <ns1:getDeviceResponse xmlns:ns1="urn:emsprov">
> >          <transactionID>1</transactionID>
> >          <status>0</status>
> >          <description/>
> >          <deviceUID>1</deviceUID>
> >          <developmentUID>1</developmentUID>
> >          <deviceType>deviceType</deviceType>
> >          <deviceModel>deviceModel</deviceModel>
> >          <deviceManufacturer>deviceManufacturer</deviceManufacturer>
> >          <deviceAttributes>
> >             <item>
> >                <key>Key1</key>
> >                <value>Value1</value>
> >             </item>
> >          </deviceAttributes>
> >       </ns1:getDeviceResponse>
> >    </soapenv:Body>
> > </soapenv:Envelope>
>
> > What do you see instead?
> > <?xml version='1.0' encoding='utf-8'?>
> > <SOAP-ENV:Envelope xmlns:SOAP-
> > ENV="http://schemas.xmlsoap.org/soap/envelope/"
> > xmlns:tns1="urn:emsprov"
> > xmlns:xs="http://www.w3.org/2001/XMLSchema"
> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> >   <SOAP-ENV:Body>
> >     <tns1:getDevice SOAP-
> > ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
> >       <xs:transactionID xsi:type="xs:string">1</xs:transactionID>
> >       <xs:deviceUID xsi:type="xs:string">1</xs:deviceUID>
> >       <xs:options xsi:type="xs:ArrayOfKeyValue" />
> >     </tns1:getDevice>
> >   </SOAP-ENV:Body>
> > </SOAP-ENV:Envelope>
>
> > <?xml version='1.0' encoding='utf-8'?>
> > <soapenv:Envelope
> > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
> >   <soapenv:Body>
> >     <soapenv:Fault>
> >       <faultcode>soapenv:Server</faultcode>
> >       <faultstring>org.apache.axis2.databinding.ADBException:
> > Unexpected
> > subelement transactionID</faultstring>
> >       <detail />
> >     </soapenv:Fault>
> >   </soapenv:Body>
> > </soapenv:Envelope>
>
> This looks like a "server" error, as opposed to a "client" error. That
> should mean that the request you sent was in a correct form, but maybe
> the data you sent wasn't accepted by the server.
>
> If you notice, your "options" element is empty. The example shows this
> is valid, but maybe you need a value in there.
>
> Is it possible to send a multi-depth document with WS::Client? My
> guess is yes, since you send a dictionary, but an example would be
> nice.- Hide quoted text -
>
> - Show quoted text -


Yes, thats one more challenge, I am facing on constructing the multi
dimensional data struct to send as part of the SOAP request.
Here is my web post on the same, I would be thankfull for any help
either of the posts.

http://code.google.com/p/tclws/issues/detail?id=8


From: tom.rmadilo on
On Mar 26, 8:52 am, credit card fraud - citibank and spiceJet
<msubbare...(a)gmail.com> wrote:
> On Mar 25, 4:33 pm, "tom.rmadilo" <tom.rmad...(a)gmail.com> wrote:

> > Is it possible to send a multi-depth document with WS::Client? My
> > guess is yes, since you send a dictionary, but an example would be
> > nice.- Hide quoted text -

>
> Yes, thats one more challenge, I am facing on constructing the multi
> dimensional data struct to send as part of the SOAP request.
> Here is my web post on the same, I would be thankfull for any help
> either of the posts.
>
> http://code.google.com/p/tclws/issues/detail?id=8

I work mainly on the server side, with my tWSDL/TWiST API. The main
problem, as usual, is that your service type is ancient...using rpc/
encoded. Check if WS::Client handles that one.

I have translated your service example into TWiST here:

http://junom.com/ws/emsprov/

You can test the service's one operation:

http://junom.com/ws/emsprov/?op=getDevOperation&mode=display

This service is defined with a TWiST config file, in text form:

http://junom.com/ws/emsprov/index.txt

The testing page shows that you can create a deep xml document. In
fact, the service creates the document based upon your input and sends
it to the server and retrieves the resulting document.

The getDevice.options input is a list of lists: a {b c} {d e} f. A one
element list produces a nil value in xml.

The API actually generates procedures for creating the xml documents
given a tcl list of values (without the element names), so you could
use these generated API to create your client documents.

You can browse the generated code from any of the above links.
From: Subba Reddy on
On Mar 26, 6:21 pm, "tom.rmadilo" <tom.rmad...(a)gmail.com> wrote:
> On Mar 26, 8:52 am, credit card fraud - citibank and spiceJet
>
> <msubbare...(a)gmail.com> wrote:
> > On Mar 25, 4:33 pm, "tom.rmadilo" <tom.rmad...(a)gmail.com> wrote:
> > > Is it possible to send a multi-depth document with WS::Client? My
> > > guess is yes, since you send a dictionary, but an example would be
> > > nice.- Hide quoted text -
>
> > Yes, thats one more challenge, I am facing on constructing the multi
> > dimensional data struct to send as part of the SOAP request.
> > Here is my web post on the same, I would be thankfull for any help
> > either of the posts.
>
> >http://code.google.com/p/tclws/issues/detail?id=8
>
> I work mainly on the server side, with my tWSDL/TWiST API. The main
> problem, as usual, is that your service type is ancient...using rpc/
> encoded. Check if WS::Client handles that one.
>
> I have translated your service example into TWiST here:
>
> http://junom.com/ws/emsprov/
>
> You can test the service's one operation:
>
> http://junom.com/ws/emsprov/?op=getDevOperation&mode=display
>
> This service is defined with a TWiST config file, in text form:
>
> http://junom.com/ws/emsprov/index.txt
>
> The testing page shows that you can create a deep xml document. In
> fact, the service creates the document based upon your input and sends
> it to the server and retrieves the resulting document.
>
> The getDevice.options input is a list of lists: a {b c} {d e} f. A one
> element list produces a nil value in xml.
>
> The API actually generates procedures for creating the xml documents
> given a tcl list of values (without the element names), so you could
> use these generated API to create your client documents.
>
> You can browse the generated code from any of the above links.


Thanks for the co-operation. I will starting using tclsoap and tclws.
But, how to specify the encoding style/use "rpc/encoded" and/or
"document/literal" before initiating the soap request?

--
~ Subba
From: Gerald W. Lester on
Subba Reddy wrote:
> On Mar 26, 6:21 pm, "tom.rmadilo" <tom.rmad...(a)gmail.com> wrote:
>> On Mar 26, 8:52 am, credit card fraud - citibank and spiceJet
>>
>> <msubbare...(a)gmail.com> wrote:
>>> On Mar 25, 4:33 pm, "tom.rmadilo" <tom.rmad...(a)gmail.com> wrote:
>>>> Is it possible to send a multi-depth document with WS::Client? My
>>>> guess is yes, since you send a dictionary, but an example would be
>>>> nice.- Hide quoted text -
>>> Yes, thats one more challenge, I am facing on constructing the multi
>>> dimensional data struct to send as part of the SOAP request.
>>> Here is my web post on the same, I would be thankfull for any help
>>> either of the posts.
>>> http://code.google.com/p/tclws/issues/detail?id=8
>> I work mainly on the server side, with my tWSDL/TWiST API. The main
>> problem, as usual, is that your service type is ancient...using rpc/
>> encoded. Check if WS::Client handles that one.
>>
>> I have translated your service example into TWiST here:
>>
>> http://junom.com/ws/emsprov/
>>
>> You can test the service's one operation:
>>
>> http://junom.com/ws/emsprov/?op=getDevOperation&mode=display
>>
>> This service is defined with a TWiST config file, in text form:
>>
>> http://junom.com/ws/emsprov/index.txt
>>
>> The testing page shows that you can create a deep xml document. In
>> fact, the service creates the document based upon your input and sends
>> it to the server and retrieves the resulting document.
>>
>> The getDevice.options input is a list of lists: a {b c} {d e} f. A one
>> element list produces a nil value in xml.
>>
>> The API actually generates procedures for creating the xml documents
>> given a tcl list of values (without the element names), so you could
>> use these generated API to create your client documents.
>>
>> You can browse the generated code from any of the above links.
>
>
> Thanks for the co-operation. I will starting using tclsoap and tclws.
> But, how to specify the encoding style/use "rpc/encoded" and/or
> "document/literal" before initiating the soap request?

The server tells you what it wants in the WSDL.

--
+------------------------------------------------------------------------+
| Gerald W. Lester |
|"The man who fights for his ideals is the man who is alive." - Cervantes|
+------------------------------------------------------------------------+