On Nov 30, 2006, at 10:22 PM, snacktime wrote:
> Since I'm not a soap expert I thought I would ask.  The following soap
> message isn't accepted by Netsuite, and their apache axis server
> throws an exception about not being able to marshal the data.
> Netsuite say's the soap messages should be in doc literal format.  Is
> it? Are there any options to soap4r to get it to format messages more
> like the second example below?  Their example soap request is
> structured a bit differently, I included it at the bottom of this
> message.
>
>

There is an option to turn on doc/literal in soap4r.  I forget where  
it is, but the soap4r examples on dev.ctor.org are a treasure trove -  
way better than the documentation.

> My soap message, makes server throw a marshalling error.
>
> <?xml version="1.0" encoding="utf-8" ?>
> <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>    xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
>    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>  <env:Body>
>    <n1:login  
> xmlns:n1="urn:messages_2_5.platform.webservices.netsuite.com"
>        xmlns:n2="urn:core_2_5.platform.webservices.netsuite.com"
>        xsi:type="n2:Passport">
>      <n2:email>email / email.com</n2:email>
>      <n2:password>XXXXXX</n2:password>
>      <n2:account>999999</n2:account>
>    </n1:login>
>  </env:Body>
> </env:Envelope>
>
>

 From the example below, looks like your namespace is wrong and  
you're missing that passport element.  Are you generating these  
messages yourself (using soap4r) or are you using a wsdl4r-generated  
client?

>
> Netsuite sample:
>
> soap:Body>
> <platformMsgs:login>
> 	<platformMsgs:passport>
> 		<platformCore:email>eblack / yahoo.com</platformCore:email>
> 		<platformCore:password>Cracker1</platformCore:password>
> 		<platformCore:account>111111</platformCore:account>
>         </platformMsgs:passport>
> </platformMsgs:login>
> </soap:Body>
>

--
~akk
http://therealadam.com