I am trying to get the echo example to work using wrapped style.

I can get the basic (string, int, float, etc) echo's to work doing something
like this in the wsdd...

  <service name="echo2" style="wrapped">
    <namespace>http://soapinterop.org/</namespace>
    <parameter name="className"
value="samples.echo.InteropTestSoapBindingImpl" />
    <parameter name="allowedMethods" value="*" />
  </service>

Then I try to do some of the more advanced echo's (echoStringArray) to work
with something like this in the wsdd...

  <service name="echo2" style="wrapped">
    <namespace>http://soapinterop.org/</namespace>
    <parameter name="className"
value="samples.echo.InteropTestSoapBindingImpl" />
    <parameter name="allowedMethods" value="echoString echoStringArray" />

      <typeMapping
        xmlns:ns="http://soapinterop.org/xsd";
        qname="ns:ArrayOfstring"
        type="java:java.lang.String[]"
        serializer="org.apache.axis.encoding.ser.ArraySerializerFactory"
        deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory"
        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/";
      />

      <operation name="echoString" returnQName="return"
returnType="RTypeNS:string" xmlns:RTypeNS="http://www.w3.org/2001/XMLSchema";
>
        <parameter name="inputString" type="tns:string"
xmlns:tns="http://www.w3.org/2001/XMLSchema"/>
      </operation>
      <operation name="echoStringArray" returnQName="return"
returnType="RTypeNS:ArrayOfstring"
xmlns:RTypeNS="http://soapinterop.org/xsd"; >
        <parameter name="inputStringArray" type="tns:ArrayOfstring"
xmlns:tns="http://soapinterop.org/xsd"/>
      </operation>

  </service>

But if I do this, I get an exception...

java.lang.NullPointerException
        at java.lang.Class.isAssignableFrom(Native Method)
        at
org.apache.axis.description.ServiceDesc.syncOperationToClass(ServiceDesc.jav
a:666)
        at
org.apache.axis.description.ServiceDesc.getSyncedOperationsForName(ServiceDe
sc.java:977)
        at
org.apache.axis.description.ServiceDesc.loadServiceDescByIntrospectionRecurs
ive(ServiceDesc.java:851)
        at
org.apache.axis.description.ServiceDesc.loadServiceDescByIntrospection(Servi
ceDesc.java:818)
        at
org.apache.axis.description.ServiceDesc.loadServiceDescByIntrospection(Servi
ceDesc.java:768)
        at
org.apache.axis.description.ServiceDesc.getOperations(ServiceDesc.java:380)
        at
org.apache.axis.transport.http.AxisServlet.reportAvailableServices(AxisServl
et.java:704)
        at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:262)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:
339)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:256)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:392)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:619)
        at java.lang.Thread.run(Thread.java:536)


I have no idea what this means.  Any ideas what could be causing this?

Is there any documentation that specifies how to use the operation element
in the wsdd file?  When I omit the second operation, echoStringArray, the
wsdl file is generated.  However, the targetNamespace in the schema is then
"" rather than "http://soapinterop.org/";.  Any reason for this?  I think I
will probably need to use the operation elements in order to get this to
work.  So the targetNamespace will be important.

Is it even possible to convert the echo example into using wrapped style at
this point?  It would be a nice useful example.

Thanks for any help,

Chris Williamson

Reply via email to