It looks to me like you're not binding a default namespace in your request,
so how does your server know what the geolocation and transferMode
attributes are?
I might be wrong, I don't use the mxml request definition stuff. Why not
just let the encoder do its job and create the request based on the types in
your WSDL / XSDs?
-Josh
On Wed, Jul 9, 2008 at 1:34 AM, Robert Csiki <[EMAIL PROTECTED]> wrote:
> Hello,
>
> I found the Flex3 WebService does ignore the namespaces defined and used by
> the *xsi:type* constructs when the SOAP message gets built.
>
> *Example:*
>
> <mx:WebService
> id="contextRegistryService"
> showBusyCursor="true"
> wsdl="{_webServiceBaseUrl}runtime/ContextRegistryService?WSDL"
> useProxy="false" >
> <mx:operation name="register">
> <mx:request format="xml">
> <ns1:register
> xmlns:ns1="http://services.foo.bar.com/"
> xmlns:ns2="http://context.foo.bar.com/"
>
> *xmlns:ns3="**http://profiles.foo.bar.com/*<http://profiles.foo.bar.com/>
> *"*>
> <context>
> <*ns2:Profiles*
> xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance"
> *xsi:type="ns3:ContentTransferProfile"
> * geolocation="{_geoLocation}"
> transferMode="BASE64"/>
> </context>
> </ns1:register>
> </mx:request>
> </mx:operation>
> </mx:WebService>
>
> The SOAP that gets generated is incorrect:
>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance">
> <SOAP-ENV:Body>
> <ns1:register xmlns:ns1="http://services.foo.bar.com">
> <context>
> <ns2:Profiles
> geolocation="Toronto"
> xsi:type="ns3:ContentTransferProfile"
> transferMode="BASE64"
> xmlns:ns2="http://context.foo.bar.com/" />
> </context>
> </ns1:register>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
> The *ns3* namespace is not there in the SOAP message, hence the Web
> Service server rejects this request as being invalid (prefix ns3 is not
> bound to a namespace).
>
> Any ideas how to make this work?
>
> Thanks, Robert
>
>
--
"Therefore, send not to know For whom the bell tolls. It tolls for thee."
:: Josh 'G-Funk' McDonald
:: 0437 221 380 :: [EMAIL PROTECTED]