Hi,

I'm following the documentation [1] with WSO2 ESB 4.8.0.
I have enabled the wire logs and response attached herewith [2].

My XSLT files are as follows.
I have uploaded them to /_system/config registry (conf:/).

*xslt1.xslt*

<xsl:stylesheet version="1.0" xmlns:xsl="
http://www.w3.org/1999/XSL/Transform";>
    <xsl:template match="//people/person" name="FILL_PPL">
        <client>
            <firstname>
                <xsl:value-of select="firstname">
            </xsl:value-of></firstname>
            <lastname>
                <xsl:value-of select="lastname">
            </xsl:value-of></lastname>
            <age>
                <xsl:value-of select="age">
            </xsl:value-of></age>
            <country>
                <xsl:value-of select="country">
            </xsl:value-of></country>
        </client>
    </xsl:template>
</xsl:stylesheet>

*xslt2.xslt*

<xsl:stylesheet version="1.0" xmlns:xsl="
http://www.w3.org/1999/XSL/Transform";>
    <xsl:include href="xslt1.xslt">
    <xsl:template match="/">
        <clients>
            <xsl:for-each select="//people/person">
                <xsl:call-template name="FILL_PPL">
            </xsl:call-template></xsl:for-each>
        </clients>
    </xsl:template>
</xsl:include></xsl:stylesheet>

*XSLIncludeTestProxy* *proxy* configuration is as follows.

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse";
       name="XSLIncludeTestProxy"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <xslt key="conf:/xslt2.xslt">
            <resource location="xslt1.xslt" key="conf:/xslt1.xslt"/>
         </xslt>
         <property name="RESPONSE" value="true"/>
      </inSequence>
   </target>
   <description/>
</proxy>

*SOAP request* sending to proxy service is as follows.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/
">
    <soapenv:Header>
    <soapenv:Body>
        <people>
            <person>
                <firstname>Isuru</firstname>
                <lastname>Udana</lastname>
                <gender>Male</gender>
                <age>26</age>
                <country>SriLanka</country>
            </person>
            <person>
                <firstname>Ishan</firstname>
                <lastname>Jayawardena</lastname>
                <gender>Male</gender>
                <age>26</age>
                <country>SriLanka</country>
            </person>
        </people>
    </soapenv:Body>
</soapenv:Header></soapenv:Envelope>

I'm getting the following NullPointerException [2].
And after some time connection timeout occurs [3].

Am I missing any required configurations?

[1]
https://docs.wso2.com/display/ESB481/XSLT+Mediator#XSLTMediator-Example3-AddingXSLTimportsasresources
[2]
[2015-03-10 10:00:41,452] DEBUG - wire >> "POST
/services/XSLIncludeTestProxy.XSLIncludeTestProxyHttpSoap11Endpoint
HTTP/1.1[\r][\n]"
[2015-03-10 10:00:41,453] DEBUG - wire >> "Accept-Encoding:
gzip,deflate[\r][\n]"
[2015-03-10 10:00:41,454] DEBUG - wire >> "Content-Type:
text/xml;charset=UTF-8[\r][\n]"
[2015-03-10 10:00:41,454] DEBUG - wire >> "SOAPAction:
"urn:mediate"[\r][\n]"
[2015-03-10 10:00:41,454] DEBUG - wire >> "Content-Length: 720[\r][\n]"
[2015-03-10 10:00:41,454] DEBUG - wire >> "Host:
Suhans-MacBook-Pro.local:8280[\r][\n]"
[2015-03-10 10:00:41,454] DEBUG - wire >> "Connection: Keep-Alive[\r][\n]"
[2015-03-10 10:00:41,454] DEBUG - wire >> "User-Agent:
Apache-HttpClient/4.1.1 (java 1.5)[\r][\n]"
[2015-03-10 10:00:41,454] DEBUG - wire >> "[\r][\n]"
[2015-03-10 10:00:41,454] DEBUG - wire >> "<soapenv:Envelope xmlns:soapenv="
http://schemas.xmlsoap.org/soap/envelope/";> [\n]"
[2015-03-10 10:00:41,455] DEBUG - wire >> "    <soapenv:Header> [\n]"
[2015-03-10 10:00:41,455] DEBUG - wire >> "    <soapenv:Body> [\n]"
[2015-03-10 10:00:41,455] DEBUG - wire >> "        <people> [\n]"
[2015-03-10 10:00:41,455] DEBUG - wire >> "            <person> [\n]"
[2015-03-10 10:00:41,455] DEBUG - wire >> "
 <firstname>Isuru</firstname> [\n]"
[2015-03-10 10:00:41,456] DEBUG - wire >> "
 <lastname>Udana</lastname> [\n]"
[2015-03-10 10:00:41,456] DEBUG - wire >> "
 <gender>Male</gender> [\n]"
[2015-03-10 10:00:41,456] DEBUG - wire >> "                <age>26</age>
[\n]"
[2015-03-10 10:00:41,456] DEBUG - wire >> "
 <country>SriLanka</country> [\n]"
[2015-03-10 10:00:41,457] DEBUG - wire >> "            </person> [\n]"
[2015-03-10 10:00:41,457] DEBUG - wire >> "            <person> [\n]"
[2015-03-10 10:00:41,457] DEBUG - wire >> "
 <firstname>Ishan</firstname> [\n]"
[2015-03-10 10:00:41,457] DEBUG - wire >> "
 <lastname>Jayawardena</lastname> [\n]"
[2015-03-10 10:00:41,457] DEBUG - wire >> "
 <gender>Male</gender> [\n]"
[2015-03-10 10:00:41,457] DEBUG - wire >> "                <age>26</age>
[\n]"
[2015-03-10 10:00:41,458] DEBUG - wire >> "
 <country>SriLanka</country> [\n]"
[2015-03-10 10:00:41,458] DEBUG - wire >> "            </person> [\n]"
[2015-03-10 10:00:41,458] DEBUG - wire >> "        </people> [\n]"
[2015-03-10 10:00:41,459] DEBUG - wire >> "    </soapenv:Body> [\n]"
[2015-03-10 10:00:41,459] DEBUG - wire >>
"</soapenv:Header></soapenv:Envelope>"
[2015-03-10 10:00:41,540] ERROR - XSLTMediator Unable to perform XSLT
transformation using : Value {name ='null', keyValue ='conf:/xslt2.xslt'}
against source XPath : s11:Body/child::*[position()=1] |
s12:Body/child::*[position()=1] reason : null
java.lang.NullPointerException
at
org.apache.synapse.util.xpath.SourceXPathSupport.selectOMNode(SourceXPathSupport.java:87)
at
org.apache.synapse.mediators.transform.XSLTMediator.performXSLT(XSLTMediator.java:211)
at
org.apache.synapse.mediators.transform.XSLTMediator.mediate(XSLTMediator.java:191)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
at
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
at
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
at
org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:166)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at
org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:403)
at
org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:183)
at
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
[2015-03-10 10:00:41,548] ERROR - NativeWorkerPool Uncaught exception
java.lang.NullPointerException
at
org.apache.synapse.transport.passthru.util.PassThroughTransportUtils.determineHttpStatusCode(PassThroughTransportUtils.java:170)
at
org.apache.synapse.transport.passthru.util.SourceResponseFactory.create(SourceResponseFactory.java:46)
at
org.apache.synapse.transport.passthru.ServerWorker.sendAck(ServerWorker.java:288)
at
org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:192)
at
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

[3]
[2015-03-10 10:01:41,644]  WARN - SourceHandler Connection time out after
request is read: http-incoming-1

Thanks,
Suhan

-- 
Suhan Dharmasuriya
Software Engineer - Test Automation

*WSO2, Inc. *

lean . enterprise . middleware
Tel: +94 112 145345
Mob: +94 779 869138
Blog: http://suhan-opensource.blogspot.com/
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to