Webservice calling issue in Orbeon forms

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Webservice calling issue in Orbeon forms

Somakandan
I tried to invoke the sample webservice and it doesn't work.  I get a message 'Loading...' and it times out.  Same request works successfully outside the orbeon by going to the URL directly.
This is the same example from the Orbeon forms website.  It is copied below.


<?xml version="1.0" encoding="windows-1252"?>

<xhtml:html xmlns:xforms="http://www.w3.org/2002/xforms"
    xmlns:f="http://orbeon.org/oxf/xml/formatting"
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
    xmlns:xxforms="http://orbeon.org/oxf/xml/xforms"
    xmlns:widget="http://orbeon.org/oxf/xml/widget"
    xmlns:ev="http://www.w3.org/2001/xml-events"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:service="http://www.webservicex.net">

    <xhtml:head>
        <xhtml:title>Weather Web Service</xhtml:title>
        <xforms:model>
            <xforms:instance id="ws-request">
                <soap-env:Envelope>
                    <soap-env:Body>
                        <service:GetWeatherByZipCode >
                            <service:ZipCode>94403</service:ZipCode>
                        </service:GetWeatherByZipCode>
                    </soap-env:Body>
                </soap-env:Envelope>
            </xforms:instance>

            <xforms:instance id="ws-response">
                <dummy/>
            </xforms:instance>

            <xforms:submission id="weather-submission" method="post"
                    action="http://www.webservicex.net/WeatherForecast.asmx"
                    ref="instance('ws-request')" replace="instance" instance="ws-response"
                    mediatype="application/soap+xml; action="http://www.webservicex.net/WeatherForecast.asmx/GetWeatherByZipCode""/>
        </xforms:model>
        <xhtml:style type="text/css">
            .xforms-repeat-selected-item-1 { background: white; }
            .gridtable { margin-top: 1em; }
            .gridtable td { vertical-align: middle; }
        </xhtml:style>
    </xhtml:head>
    <xhtml:body>

       
        <xforms:input ref="instance('ws-request')/soap-env:Body/service:GetWeatherByZipCode/service:ZipCode">
            <xforms:label>ZIP code: </xforms:label>
        </xforms:input>
        <xforms:trigger>
            <xforms:label>Get forecast</xforms:label>
            <xforms:send submission="weather-submission" ev:event="DOMActivate"/>
        </xforms:trigger>

       
        <xforms:group ref="instance('ws-response')/soap-env:Body/service:GetWeatherByZipCodeResponse">
            <xhtml:table class="gridtable">
                <xhtml:tr>
                    <xhtml:td/>
                    <xhtml:td/>
                    <xhtml:th>Minimums</xhtml:th>
                    <xhtml:th>Maximums</xhtml:th>
                </xhtml:tr>
                <xforms:repeat nodeset="service:GetWeatherByZipCodeResult/service:Details/service:WeatherData">
                    <xhtml:tr>
                        <xhtml:td>
                            <xforms:output value="service:Day"/>
                        </xhtml:td>
                        <xhtml:td>
                            <xforms:output value="normalize-space(service:WeatherImage)" mediatype="image/jpg"/>
                        </xhtml:td>
                        <xhtml:td>
                            <xforms:output value="service:MinTemperatureF"/> ºF / <xforms:output value="service:MinTemperatureC"/> ºC
                        </xhtml:td>
                        <xhtml:td>
                            <xforms:output value="service:MaxTemperatureF"/> ºF / <xforms:output value="service:MaxTemperatureC"/> ºC
                        </xhtml:td>
                    </xhtml:tr>
                </xforms:repeat>
            </xhtml:table>
        </xforms:group>

       
        <xhtml:ul>
            <xhtml:li>
                <xhtml:a href="http://www.webservicex.net/WeatherForecast.asmx?op=GetWeatherByZipCode">More information about this web service</xhtml:a>
            </xhtml:li>
            <xhtml:li>
                <xhtml:a href="http://www.webservicex.net/WeatherForecast.asmx?WSDL">WSDL for this web service</xhtml:a>
            </xhtml:li>
        </xhtml:ul>

       
    </xhtml:body>
</xhtml:html>
Reply | Threaded
Open this post in threaded view
|

Re: Webservice calling issue in Orbeon forms

Alessandro Vernet
Administrator
Somakandan wrote
I tried to invoke the sample webservice and it doesn't work.  I get a message 'Loading...' and it times out.  Same request works successfully outside the orbeon by going to the URL directly.
This is the same example from the Orbeon forms website.  It is copied below.
This service can be slow at times, but it seems to be working for me now. Could you try:

1. To uncomment the following lines in your config/log4j.xml

    <category name="org.orbeon.oxf.xforms.processor.XFormsServer">
        <priority value="debug"/>
    </category>

2. Delete your orbeon.log.
3. Restart Tomcat.
4. Hit the example again.
5. Wait for the timeout to happen.
6. Attach the newly created orbeon.log to your response.

Alex