[
http://jira.codehaus.org/browse/XFIRE-480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_88397
]
kyle clarke commented on XFIRE-480:
-----------------------------------
using xfire 1.2.4 running in weblogic 8.1 sp5, jdk 1.4.2_08, i'm getting a
similar stack trace. caveat, this is my first attempt at using OUT or INOUT
params. i'm using the mapping method rather than annotations.
my method:
public boolean doInout(Holder inoutHolder) {
logger.debug("in doInout");
logger.debug("in value: " + (String) inoutHolder.getValue());
inoutHolder.setValue("Hiya");
return true;
}
my mappings file:
<mappings>
<mapping>
<method name="doInout">
<parameter index="0" componentType="java.lang.String" />
</method>
</mapping>
</mappings>
my xfire java client caller code:
Holder holder = new Holder();
holder.setValue("hello");
logger.debug("doInout return value: '" + testerService.doInout(holder)
+ "', holder INOUT value: '" + holder.getValue() + "'.");
TCP trace message outbound:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<doInout xmlns="http://samples.my.org">
<in0 xmlns="http://samples.my.org">hello</in0>
</doInout>
</soap:Body>
</soap:Envelope>
TCP trace reply:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Fault: java.lang.NullPointerException</faultstring>
</soap:Fault></soap:Body></soap:Envelope>
my stack trace from the server log:
448967 2007-02-23 13:28:36,226 [ExecuteThread: '14' for queue:
'weblogic.kernel.Default'] ERROR
org.codehaus.xfire.handler.DefaultFaultHandler:invoke:35 - Fault occurred!
java.lang.NullPointerException
at
org.codehaus.xfire.aegis.type.basic.HolderType.readObject(HolderType.java:54)
at
org.codehaus.xfire.aegis.AegisBindingProvider.readParameter(AegisBindingProvider.java:162)
at
org.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBinding.java:206)
at
org.codehaus.xfire.service.binding.WrappedBinding.readMessage(WrappedBinding.java:50)
at
org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.java:42)
at
org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
at
org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:64)
at
org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
at
org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:301)
at
org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:130)
at
org.codehaus.xfire.transport.http.XFireServlet.doPost(XFireServlet.java:116)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
> aegis NullPointerException
> --------------------------
>
> Key: XFIRE-480
> URL: http://jira.codehaus.org/browse/XFIRE-480
> Project: XFire
> Issue Type: Bug
> Components: Aegis Module
> Affects Versions: 1.1.1
> Environment: Windows2003, JDK 1.5.0_07, Resin 3.0.19, XFire 1.1.1,
> Spring 2.0 m5
> Reporter: eureka
> Assigned To: Dan Diephouse
>
> Use annotation and jaxws
> @WebService(serviceName = "SysParam")
> public interface SysParam {
> boolean test ( @WebParam ( mode = WebParam.Mode.INOUT ) Holder<String>
> s);
> }
> while invoked, an exception thrown:
> ERROR-[2006-06-21 16:12:46,546] Fault occurred!
> java.lang.NullPointerException
> at
> org.codehaus.xfire.aegis.type.basic.HolderType.readObject(HolderType.java:54)
> at
> org.codehaus.xfire.aegis.AegisBindingProvider.readParameter(AegisBindingProvider.java:94)
> at
> org.codehaus.xfire.service.binding.AbstractBinding.read(AbstractBinding.java:208)
> at
> org.codehaus.xfire.service.binding.WrappedBinding.readMessage(WrappedBinding.java:50)
> at
> org.codehaus.xfire.jaxws.JAXWSOperationBinding.readMessage(JAXWSOperationBinding.java:148)
> at
> org.codehaus.xfire.jaxws.JAXWSBinding.readMessage(JAXWSBinding.java:55)
> at
> org.codehaus.xfire.soap.handler.SoapBodyHandler.invoke(SoapBodyHandler.java:42)
> at
> org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:110)
> at
> org.codehaus.xfire.transport.DefaultEndpoint.onReceive(DefaultEndpoint.java:61)
> at
> org.codehaus.xfire.transport.AbstractChannel.receive(AbstractChannel.java:38)
> at
> org.codehaus.xfire.transport.http.XFireServletController.invoke(XFireServletController.java:261)
> at
> org.codehaus.xfire.transport.http.XFireServletController.doService(XFireServletController.java:120)
> at
> org.codehaus.xfire.spring.remoting.XFireServletControllerAdapter.handleRequest(XFireServletControllerAdapter.java:63)
> at
> org.codehaus.xfire.spring.remoting.XFireExporter.handleRequest(XFireExporter.java:44)
> at
> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45)
> at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:797)
> at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:727)
> at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)
> at
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:360)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:154)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
> at
> com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:106)
> at
> com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
> at
> com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
> at
> com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:268)
> at com.caucho.server.port.TcpConnection.run(TcpConnection.java:389)
> at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:507)
> at com.caucho.util.ThreadPool.run(ThreadPool.java:433)
> at java.lang.Thread.run(Thread.java:595)
> I use soapUI1.5 as client.
> The requst is as follow
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:par="http://param.system.bwplatform.evangel.com">
> <soapenv:Body>
> <par:test>
> <par:in0>?</par:in0>
> </par:test>
> </soapenv:Body>
> </soapenv:Envelope>
> and response:
> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> <soap:Body>
> <soap:Fault>
> <faultcode>soap:Server</faultcode>
> <faultstring>Fault: java.lang.NullPointerException</faultstring>
> </soap:Fault>
> </soap:Body>
> </soap:Envelope>
> The following is the spring configuration:
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:util="http://www.springframework.org/schema/util"
> xsi:schemaLocation="
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd
> http://www.springframework.org/schema/util
> http://www.springframework.org/schema/util/spring-util.xsd
> ">
> <import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
> <bean id="jaxwsServiceFactory"
> class="org.codehaus.xfire.jaxws.JAXWSServiceFactory" singleton="true">
> <constructor-arg index="0">
> <ref bean="xfire.transportManager" />
> </constructor-arg>
> </bean>
> <bean id="abstractService"
> class="org.codehaus.xfire.spring.remoting.XFireExporter" abstract="true">
> <property name="serviceFactory"
> ref="jaxwsServiceFactory"></property>
> <property name="xfire" ref="xfire" />
> </bean>
> <bean id="urlMapping"
> class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
> <property name="urlMap">
> <map>
> <entry key="/SysParam">
> <ref bean="sysParam" />
> </entry>
> </map>
> </property>
> </bean>
> <bean id="sysParam" parent="abstractService">
> <property name="serviceBean">
> <ref bean="sysParamBean" />
> </property>
> <property name="serviceClass">
>
> <value>com.evangel.bwplatform.system.param.SysParamBean</value>
> </property>
> </bean>
> </beans>
> BTW, are there any example or instructions of using INOUT paramter?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email