I am trying to create a SOAP (Biztalk) reply for a customer using the Stylus Studio Mapper. I am facing several problems of which one is currently the biggest.
1. No DTD or schema available for SOAP. As a consequence the mapping can only be based on example files (not a big issue).
2. Using the example files I cannot create a mapping by drag and drop. The error is "Mapper data population failed".
3. When I change the xslt to use Templates the GUI does not show the links between fields. However, the error "Mapper data population failed" does not appear anymore.
4. The biggest issue is that in the SOAP request there is a local namespace declaration for the default namespace xmlns in the Body part. With this local namespace declaration it seems to be impossible to access any fields at a lower level.
Attached the xslt, and the source. The requested fields is: /SOAP-ENV:Envelope/SOAP-ENV:Body/RequestInfo/ContractCatalogPO/CatalogPOHeadingInfo/@ContractNumber.
Any idea how to access this field? If I delete the xmlns attribute RequestInfo it works fine.
Subject:Creating a SOAP Reply Author:Oliver Rennert Date:21 Jul 2003 03:36 AM
Workaround:
Without fully understanding why I found a solution using the following XPath expression:
SOAP-ENV:Envelope/*[2]/*[1]/*[2]/*/@ContractNumber
Why does the local namespace declaration produces such problems?
Subject:RE: Creating a SOAP Reply Author:(Deleted User) Date:21 Jul 2003 08:40 AM
hi, Oliver,
your workaround is very creative and i didn't even expect mapper can work
with this.
as my previous reply to you, i hope i can help you to solve the problem
without introducing some compilcated xpath like the one in your work around.
song.
> -----Original Message-----
> From: stylus-studio-xslt Listmanager [mailto:listmanager@edn.exln.com]
> Sent: Monday, July 21, 2003 3:59 AM
> To: Recipients of 'stylus-studio-xslt' suppressed
> Subject: Creating a SOAP Reply
>
>
> From: "Oliver Rennert"
>
> Workaround:
> Without fully understanding why I found a solution using the
> following XPath expression:
> SOAP-ENV:Envelope/*[2]/*[1]/*[2]/*/@ContractNumber
>
> Why does the local namespace declaration produces such problems?
>
> Oliver
>
>
>
> To reply: mailto:stylus-studio-xslt.6871@edn.exln.com
> To start a new topic: mailto:stylus-studio-xslt@edn.exln.com
> To login: http://edn.exln.com/~SSDN
>
Subject:RE: Creating a SOAP Reply Author:(Deleted User) Date:21 Jul 2003 08:36 AM
Hi, Oliver
what do you mean by 'impossible to access any fields at a lower level'. did
you see the wrong xpath generated or something diffrent. also what is the
version of stylus are you using(through help/about)? we did have problem in
early versions when the default namespace is redefined, but it should works
fine in latest version.
another thing is worth noting here is the current mapper does not support
apply-templates. it can't render the template in GUI. as an alternative, you
can use for-each to replace the apply-template in your xslt example.
let me know if you need more help.
song.
> -----Original Message-----
> From: stylus-studio-xslt Listmanager [mailto:listmanager@edn.exln.com]
> Sent: Saturday, July 19, 2003 12:24 PM
> To: Recipients of 'stylus-studio-xslt' suppressed
> Subject: Creating a SOAP Reply
>
>
> From: "Oliver Rennert"
>
> Hello
>
> I am trying to create a SOAP (Biztalk) reply for a customer using
> the Stylus Studio Mapper. I am facing several problems of which
> one is currently the biggest.
>
> 1. No DTD or schema available for SOAP. As a consequence the
> mapping can only be based on example files (not a big issue).
>
> 2. Using the example files I cannot create a mapping by drag and
> drop. The error is "Mapper data population failed".
>
> 3. When I change the xslt to use Templates the GUI does not show
> the links between fields. However, the error "Mapper data
> population failed" does not appear anymore.
>
> 4. The biggest issue is that in the SOAP request there is a local
> namespace declaration for the default namespace xmlns in the Body
> part. With this local namespace declaration it seems to be
> impossible to access any fields at a lower level.
> Attached the xslt, and the source. The requested fields is:
> /SOAP-ENV:Envelope/SOAP-ENV:Body/RequestInfo/ContractCatalogPO/Cat
> alogPOHeadingInfo/@ContractNumber.
>
> Any idea how to access this field? If I delete the xmlns
> attribute RequestInfo it works fine.
>
> Thanks for any help.
>
>
>
> To reply: mailto:stylus-studio-xslt.6870@edn.exln.com
> To start a new topic: mailto:stylus-studio-xslt@edn.exln.com
> To login: http://edn.exln.com/~SSDN
>