Greetings,

I'm trying to port a CF8 app that provides some web services over to
running on OBD. Things were going along nicely until I tried to access
web services on the ODB version of the code...from another CF8 app. I
got an error that said something like: “could not find deserializer
for type {http://wstypes.newatlanta.com}StructMap”.

So I used SoapUI to interrogate the service running on ODB and the one
running on CF8 and discovered a subtle difference that completely
destroys my API:

CF8 web service response:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/
envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
   <soapenv:Body>
      <ns1:createMailboxResponse soapenv:encodingStyle="http://
schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://wsvc1_0.na_svr";>
         <createMailboxReturn xsi:type="ns2:Map" xmlns:ns2="http://
xml.apache.org/xml-soap">
            <item xmlns:soapenc="http://schemas.xmlsoap.org/soap/
encoding/">
               <key xsi:type="soapenc:string">PASSWORD</key>
               <value xsi:type="soapenc:string">ASD987ADS</value>
            </item>
            <item>
               <key xsi:type="soapenc:string" xmlns:soapenc="http://
schemas.xmlsoap.org/soap/encoding/">EMAILADDRESS</key>
               <value xsi:type="soapenc:string" xmlns:soapenc="http://
schemas.xmlsoap.org/soap/encoding/">8FFDD82-0509-
[email protected]</value>
            </item>
            <item>
               <key xsi:type="soapenc:string" xmlns:soapenc="http://
schemas.xmlsoap.org/soap/encoding/">USERID</key>
               <value xsi:type="soapenc:string" xmlns:soapenc="http://
schemas.xmlsoap.org/soap/encoding/">8FFDD82-0509-
F6D3-085E4F5F5202C004</value>
            </item>
         </createMailboxReturn>
      </ns1:createMailboxResponse>
   </soapenv:Body>
</soapenv:Envelope>


ODB web service response:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/
envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
   <soapenv:Body>
      <ns1:createMailboxResponse soapenv:encodingStyle="http://
schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://wsvc1_0.na_svr";>
         <createMailboxReturn xsi:type="ns2:StructMap"
xmlns:ns2="http://wstypes.newatlanta.com";>
            <item soapenc:arrayType="ns2:StructMapItem[3]"
xsi:type="soapenc:Array" xmlns:soapenc="http://schemas.xmlsoap.org/
soap/encoding/">
               <item xsi:type="ns2:StructMapItem">
                  <key xsi:type="soapenc:string">userid</key>
                  <val
xsi:type="soapenc:string">AB129-753B-455C-9B83C61898E6AF1F</val>
               </item>
               <item xsi:type="ns2:StructMapItem">
                  <key xsi:type="soapenc:string">emailaddress</key>
                  <val
xsi:type="soapenc:string">[email protected]</
val>
               </item>
               <item xsi:type="ns2:StructMapItem">
                  <key xsi:type="soapenc:string">password</key>
                  <val xsi:type="soapenc:string">92HUHHDUSDASD</val>
               </item>
            </item>
         </createMailboxReturn>
      </ns1:createMailboxResponse>
   </soapenv:Body>
</soapenv:Envelope>

Now, the ODB one looks cleaner to me, but the change in response makes
the service incompatible with my clients who have integrated already
with my CF8 app. Is there something I can do to 'fix' the OBD code to
match what CF8 is doing?

I appreciate any suggestions other users have.

Thanks,

Don

--~--~---------~--~----~------------~-------~--~----~
Open BlueDragon Public Mailing List
 http://groups.google.com/group/openbd?hl=en
 official site @ http://www.openbluedragon.org/

!! save a network - trim replies before posting !!
-~----------~----~----~----~------~----~------~--~---

Reply via email to