XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Søren HøjbjergSubject: & and & in web service call
Author: Søren Højbjerg
Date: 15 Jul 2013 05:08 AM
Hi,

I seem to have trouble with '&' and '&' when attempting to make a web service call with the document() function.

Let me begin with the preconditions:

a) I have to use XSLT 1.0 and xPath 1.0
b) I am using a GET based web service

In the XSLT, I write something like:

<xsl:variable name="varPOLineKeys">
<xsl:copy-of select="document('http://10.255.151.47:8010/MOREsupport/service?ref=/poso&amp;search=000000012021412'))"/>
</xsl:variable>

As you will note, I am using '&amp;' instead of '&', e.g. at ...../poso&amp;search.....

When I run this in the StylusStudio debugger, I get no meaningful return value. Instead I get like 'Invalid input' when I inspect the variable varPOLineKeys.

When I use a web browser, I use the following URL:

http://10.255.151.47:8010/MOREsupport/service?ref=/poso&search=000000012021412

This yields the expected result, in the form of an xml.

Something is obviously amiss with the replacement of '&' with '&amp;'. How do I do this correctly? Is there a workaround?

Postnext
Ivan PedruzziSubject: & and & in web service call
Author: Ivan Pedruzzi
Date: 16 Jul 2013 10:55 AM
Hi Søren,

The behavior, could be triggered by an encoding error.

Which XSLT processor are you running?

With Saxon you can set "treat non-fatal errors" as warning (-w1).
Have a look at the Scenario -> Processor -> Settings

If the Processor is one of the Java based, can you try to generate the Java code and run it to see if you experience a different behavior?

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

Postnext
Soren HojbjergSubject: & and & in web service call
Author: Soren Hojbjerg
Date: 18 Jul 2013 07:53 AM
I am using Saxon 9.4.0.6. It makes no difference if I check on warnings (-w1). The xslt runs, but I get a return xml like <error>Invalid input</error>.

Perhaps I should construct an example using a web service available on the internet. This will take me a day or two. I will get back.

Postnext
Soren HojbjergSubject: & and & in web service call
Author: Soren Hojbjerg
Date: 18 Jul 2013 08:59 AM
Okay, it was not too difficult to construct an example. I just took this example: http://raflab.gazelle.net/roller/rnoolabs/entry/calling_web_services_from_xslt1

With a minor modification, it is like below, which can be copied into a StylusStudio xslt.

<xsl:stylesheet xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ws="http://earth.google.com/kml/2.0" exclude-result-prefixes="ws" version="2.0">

<xsl:template match="/">
<mini>
<xsl:apply-templates />
</mini>
</xsl:template>

<xsl:template match="/">
<xsl:variable name="gglResponses">
<xsl:copy-of select="document( 'http://maps.google.com/maps/api/geocode/xml?address=CV344SA,UK&amp;sensor=false' )" />
</xsl:variable>

<xsl:value-of select="$gglResponses/GeocodeResponse/result/geometry/location/lat" />
<xsl:value-of select="$gglResponses/GeocodeResponse/result/geometry/location/lng" />

</xsl:template>

</xsl:stylesheet>

In the above, absolutely nothing returns from the web service. If called from a browser, a lengthy xml returns.

Postnext
Ivan PedruzziSubject: & and & in web service call
Author: Ivan Pedruzzi
Date: 18 Jul 2013 03:50 PM

It seems to work fine with build 1910k

Ivan Pedruzzi
Stylus Studio Team

Postnext
Soren HojbjergSubject: & and & in web service call
Author: Soren Hojbjerg
Date: 19 Jul 2013 09:08 AM
Okay, I just upgraded to build 1910k. Have now an exact copy of the xslt in your screenshot. I can run it. But it returns nothing.

This has got to be an issue on my side. I have to consider this issue closed on your side. StylusStudio appears to work! Thanks for your time.

Postnext
Ivan PedruzziSubject: & and & in web service call
Author: Ivan Pedruzzi
Date: 19 Jul 2013 09:24 AM

If you are running behind a firewall or a proxy server, make sure that Stylus Studio can pass through.

Ivan

Posttop
Soren HojbjergSubject: & and & in web service call
Author: Soren Hojbjerg
Date: 19 Jul 2013 09:29 AM
Exactly my thoughts. Will check it :-)

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.