case 1:
I implemented a method with String[] type argument, and deploy as webservice 
under JBoss4.0.2 using ws4ee. I do strictly as what the wiki page Mapping 
Custom Arrays told. 
When i test this method, the server report errors that not Deserializer for 
type String[].

case 2:
However, I also have a method with return type String[], it works fine. 

Who can tell me why I got the error in case 1? And how can i correct it?

Thanks!


  | ERROR [RPCInvocation] org.xml.sax.SAXException: Deserializing parameter 
'arrayOfString_1':  could not find deserializer for type 
{http://webservice.ejb.incep.scnb.siemens.com/types/arrays/java/lang}StringArray
  | org.xml.sax.SAXException: Deserializing parameter 'arrayOfString_1':  could 
not find deserializer for type 
{http://webservice.ejb.incep.scnb.siemens.com/types/arrays/java/lang}StringArray
  |     at org.jboss.axis.message.RPCHandler.onStartChild(RPCHandler.java:326)
  |     at 
org.jboss.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:1168)
  |     at 
org.jboss.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:244)
  |     at 
org.jboss.axis.message.SOAPElementAxisImpl.publishToHandler(SOAPElementAxisImpl.java:1386)
  |     at org.jboss.axis.message.RPCElement.deserialize(RPCElement.java:262)
  |     at org.jboss.axis.message.RPCElement.getParams(RPCElement.java:396)
  |     at 
org.jboss.axis.providers.java.RPCInvocation.prepareFromRequestEnvelope(RPCInvocation.java:235)
  |     at 
org.jboss.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:103)
  |     at 
org.jboss.axis.providers.java.JavaProvider.invoke(JavaProvider.java:358)
  |     at 
org.jboss.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:73)
  |     at org.jboss.axis.SimpleChain.doVisiting(SimpleChain.java:160)
  |     at org.jboss.axis.SimpleChain.invoke(SimpleChain.java:123)
  |     at org.jboss.axis.handlers.soap.SOAPService.invoke(SOAPService.java:560)
  |     at 
org.jboss.webservice.server.ServerEngine.invokeInternal(ServerEngine.java:200)
  |     at org.jboss.webservice.server.ServerEngine.invoke(ServerEngine.java:89)
  |     at 
org.jboss.axis.transport.http.AxisServlet.doPost(AxisServlet.java:905)
  |     at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  |     at 
org.jboss.axis.transport.http.AxisServletBase.service(AxisServletBase.java:370)
  |     at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
  |     at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
  |     at 
org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
  |     at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:153)
  |     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
  |     at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
  |     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
  |     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  |     at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
  |     at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
  |     at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
  |     at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
  |     at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
  |     at 
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
  |     at java.lang.Thread.run(Unknown Source)
  | 

here is my SEI

  | public interface PortalEndpoint
  |    extends java.rmi.Remote
  | {   
  | public void deleteUser( java.lang.String[] userNameArray )  //doesn't work
  |       throws java.rmi.RemoteException;
  | public java.lang.String[] viewUser( )                                   
//it works
  |       throws java.rmi.RemoteException;
  | }
  | 

the corresponding part of wsdl file 

  |       <complexType name="StringArray">
  |         <sequence>
  |           <element name="value" type="string" nillable="true" minOccurs="0" 
maxOccurs="unbounded"/></sequence></complexType></schema>
  | 
  | 

the corresponding part of jax-rpc.xml file

  | <java-xml-type-mapping>
  | <java-type>java.lang.String[]</java-type>
  | <root-type-qname 
xmlns:typeNS="http://webservice.ejb.incep.scnb.siemens.com/types/arrays/java/lang";>typeNS:StringArray</root-type-qname>
  | <qname-scope>complexType</qname-scope>
  | </java-xml-type-mapping>
  | 


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3909710#3909710

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3909710


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
JBoss-user mailing list
JBoss-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to