[jira] Resolved: (WSIF-88) Collection/javabean deserialization not working
"David Castro (JIRA)" <[email protected]> Thu, 24 Aug 2006 13:18:06 -0700 (PDT)
| Newsgroups | gmane.comp.apache.webservices.wsif.devel |
|---|---|
| Message-ID | <778919.1156450686019.JavaMail.jira@brutus> |
[ http://issues.apache.org/jira/browse/WSIF-88?page=all ]
David Castro resolved WSIF-88.
------------------------------
Resolution: Fixed
Looks like I had a typo in my service.mapType list. Everything is working fine, however it would have been nice to get the initial exception without having to enable log4j.
org.apache.wsif.WSIFException: Operation failed but returned fault message contained no part
The above doesn't help very much. I would have expected to see the real cause of the problem.
> Collection/javabean deserialization not working
> -----------------------------------------------
>
> Key: WSIF-88
> URL: http://issues.apache.org/jira/browse/WSIF-88
> Project: Axis-WSIF
> Issue Type: Bug
> Affects Versions: 2.1
> Environment: Apache AXIS 1.3
> Reporter: David Castro
>
> ==== EXCEPTION ====
> Internal exception that is caught on line 1603 in WSIFOperation_ApacheAxis:
> org.xml.sax.SAXException: Deserializing parameter 'simulateReturn': could not find deserializer for type {urn:SODWS}SimulationResult
> This exception is being generated for a class that has a beanserializer defined. This bean has a collection attribute with another bean inside (also has a bean serializer defined). The web service returns what looks to be a correct response, but WSIF if dying on deserialization. Is there something more that needs to be added to the definition, even if they are simple javabeans? I've seen some references about default behavior of WSIF and wrapped/unwrapped setting that can generate this error messsage. I tried setting the context to use both with the same result.
> ==== service mapping ====
> <service name="MyServiceProcessor" provider="java:RPC">
> <parameter name="scope" value="session"/>
> <parameter name="allowedMethods" value="*"/>
> <parameter name="className" value="test.MyService"/>
> <beanMapping languageSpecificType="java:test.SimulationRequest" qname="ns1:SimulationRequest" xmlns:ns1="urn:TESTWS"/>
> <beanMapping languageSpecificType="java:test.SimulationResponsibilityEntry" qname="ns1:SimulationResponsibilityEntry" xmlns:ns1="urn:TESTWS"/>
> <beanMapping languageSpecificType="java:test.SimulationResult" qname="ns1:SimulationResult" xmlns:ns1="urn:TESTWS"/>
> <beanMapping languageSpecificType="java:test.SimulationConflict" qname="ns1:SimulationConflict" xmlns:ns1="urn:TESTWS"/>
> </service>
> ========
> BTW, without turning on log4j I also only got the below exception. Should I have recieved the aforementioned exception as a fault part or as part of the stack trace rather than seeing this not so helpful message? It appears that there is no Fault part added, even though an AxisError was thrown and the success status was set to false.
> org.apache.wsif.WSIFException: Operation failed but returned fault message contained no part
> at org.apache.wsif.base.WSIFClientProxy.invoke(WSIFClientProxy.java:292) at $Proxy0.simulate(Unknown Source)
> at com.logicalapps.onecenter.webservice.SODWebServiceTest.testBasicService(SODWebServiceTest.java:87)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at junit.framework.TestCase.runTest(TestCase.java:154)
> at junit.framework.TestCase.runBare(TestCase.java:127)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:118)
> at junit.framework.TestSuite.runTest(TestSuite.java:208)
> at junit.framework.TestSuite.run(TestSuite.java:203)
> at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:325)
> at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeInVM(JUnitTask.java:848)
> at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:556)
> at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:532)
> at org.apache.tools.ant.Task.perform(Task.java:341)
> at org.apache.commons.jelly.tags.ant.AntTag.doTag(AntTag.java:185)
> at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279)
> at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
> at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:233)
> at org.apache.commons.jelly.tags.core.OtherwiseTag.doTag(OtherwiseTag.java:87)
> at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279)
> at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
> at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:233)
> at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:84) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279)
> at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
> at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:233)
> at org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:88)
> at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279)
> at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
> at org.apache.maven.jelly.tags.werkz.MavenGoalTag.runBodyTag(MavenGoalTag.java:79)
> at org.apache.maven.jelly.tags.werkz.MavenGoalTag$MavenGoalAction.performAction(MavenGoalTag.java:110)
> at com.werken.werkz.Goal.fire(Goal.java:639)
> at com.werken.werkz.Goal.attain(Goal.java:575)
> at org.apache.maven.plugin.PluginManager.attainGoals(PluginManager.java:671)
> at org.apache.maven.MavenSession.attainGoals(MavenSession.java:263)
> at org.apache.maven.cli.App.doMain(App.java:488)
> at org.apache.maven.cli.App.main(App.java:1239)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at com.werken.forehead.Forehead.run(Forehead.java:551)
> at com.werken.forehead.Forehead.main(Forehead.java:581)
> ========
> I can provide more detailed inormation on request. Let me know if I should split this into two tickets, since I have both:
> - problem with deserialization of collections of beans
> - viewing the actual AxisError that occurs outside of using debug
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira