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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to