Hi iksrazal and Chintaka,
this is the part of the stub code  generated  by the  0.92  version of the WSDL2Java  tool:

 org.apache.axis2.clientapi.Call _call = new org.apache.axis2.clientapi.Call(_serviceContext);
            _call.setTransportInfo(this.senderTransport,this.listenerTransport,this.useSeparateListener);
            _call.setDoREST(this.doRest);

             org.apache.axis2.context.MessageContext _messageContext = getMessageContext();
            _call.setTo(this.toEPR);
            _call.setSoapAction("echoString");

And this is the part generated by 0.93 version of WSDL2Java tool:

             org.apache.axis2.client.Call _call = new org.apache.axis2.client.Call(_serviceContext);
             _call.setClientOptions(_clientOptions);
             org.apache.axis2.context.MessageContext _messageContext = getMessageContext();
              if(_clientOptions.getSoapAction() == null) {
                 
              }

             if(_clientOptions.getAction() == null) {
              
           ;   }

Notice that two different Call classes with different APIs are used in 0.92 and 0.93 version of the generated stub.You can't add line _call.setSoapAction("echoString")  to the 0.93 version gen code because the org.apache.axis2.client.Call used in the 0.93 does not have method setSoapAction() . You can just use _clientOptions.setSoapAction("echoString") but it seems that it does not resolve my issue, because I am still getting
the exception I've complained about.

When I modify the 0.93 version code like this i am still getting the exception:

rg.apache.axis2.client.Call _call = new org.apache.axis2.client.Call(_serviceContext);
             _call.setClientOptions(_clientOptions);
             org.apache.axis2.context.MessageContext _messageContext = getMessageContext();
if(_clientOptions.getSoapAction() == null) {
                  System.out.println("\n\n\n>>> SETTING SOAP ACTION");
                  _clientOptions.setSoapAction("echoString");
}

org.apache.axis2.AxisFault: org.apache.axis2.AxisFault: Operation Not found EPR is http://localhost:8080/axis2/services/Axis2SampleDocLitPortType and WSA Action = "">     at org.apache.axis2.engine.DispatchingChecker.invoke(DispatchingChecker.java:70)
    at org.apache.axis2.engine.Phase.invoke(Phase.java:167)
    at org.apache.axis2.engine.AxisEngine.invokePhases(AxisEngine.java:443)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:137)

When I modify the 0.93 code in the following  manner :

org.apache.axis2.client.Call _call = new org.apache.axis2.client.Call(_serviceContext);
             _call.setClientOptions(_clientOptions);
                        
             org.apache.axis2.context.MessageContext _messageContext = getMessageContext();
             _clientOptions.setSoapAction("echoString");
             if(_clientOptions.getSoapAction() == null) {
                  
                  
              }

             if(_clientOptions.getAction() == null) {
              
             }
I got the the following exception:

org.apache.axis2.AxisFault: null; nested exception is:
    java.lang.NullPointerException
    at org.apache.axis2.AxisFault.makeFault(AxisFault.java:190)
    at org.apache.axis2.userguide.Axis2SampleDocLitPortTypeMessageReceiver.invokeBusinessLogic(Axis2SampleDocLitPortTypeMessageReceiver.java:120)
    at org.apache.axis2.receivers.AbstractInOutSyncMessageReceiver.receive(AbstractInOutSyncMessageReceiver.java:36)
....
Caused by: java.lang.NullPointerException
    at org.apache.axis2.userguide.databinding.Axis2SampleDocLitPortTypeechoStringDatabindingSupporter.toOM(Axis2SampleDocLitPortTypeechoStringDatabindingSupporter.java:34)
    at org.apache.axis2.userguide.Axis2SampleDocLitPortTypeMessageReceiver.invokeBusinessLogic(Axis2SampleDocLitPortTypeMessageReceiver.java:106)
    ... 20 more

Could you pls. be more specific what part of the generated code should I modify and how?

Regards,
Nikola






Eran Chinthaka <[EMAIL PROTECTED]> wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
 
Nikola, the iksrazal's method will fix the problem, BUT ..............
I should accept that its a bug in 0.93 re lease, which is now fixed in
current SVN head.

- -- Chinthaka

iksrazal wrote:

> Nikola,

>

> Try following this thread - worked for me when I had a similiar

> problem:

>

>
http://marc.theaimsgroup.com/?l=axis-user&m=113474706726344&w=2

>

> HTH, iksrazal

>

> Em Terça 27 Dezembro 2005 08:48, o Nikola Zifra escreveu:

>

>> Hi I am getting following exception when I try to run the
code

>> generated by WSDL2Java tool.

>>

>> - Invoking Handler 'AddressingOutHandler' in Phase
'MessageOut' -

>> Build the OMElelment EnvelopeBy the StaxSOAPModelBuilder -

>> Starting Process SOAP 1.1 message - Build the OMElelment
HeaderBy

>> the StaxSOAPModelBuilder - Build the OMElelment BodyBy the

>> StaxSOAPModelBuilder - Invoking Handler
'AddressingInHandler' in

>> Phase 'PreDispatch' org.apache.axis2.AxisFault:

>> org.apache.axis2.AxisFault: Operation Not found EPR is

>>
http://localhost:8080/axis2/services/Axis2SampleDocLitPortType

>> and WSA Action = ""

>>
org.apache.axis2.engine.DispatchingChecker.invoke(DispatchingChecker.java:7

>> 0) at org.apache.axis2.engine.Phase.invoke(Phase.java:167)
at

>>
org.apache.axis2.engine.AxisEngine.invokePhases(AxisEngine.java:443)

>> at

>>
org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:137)

>> at

>>
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(H

>> TTPTransportUtils.java:211) at

>>
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:181)

>> at
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)

>> at
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

>> at

>>
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicatio

>> nFilterChain.java:252) at

>>
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterC

>> hain.java:173) at

>>
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.j

>> ava:213) at

>>
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.j

>> ava:178) at

>>
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:12

>> 6) at

>>
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:10

>> 5) at

>>
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.jav

>> a: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.processConn

>> ection(Http11Protocol.java:744) at

>>
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.ja

>> va:527) at

>>
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerW< br>
>> orkerThread.java:80) at

>>
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.ja

>> va:684) at java.lang.Thread.run(Thread.java:595) ; nested

>> exception is: java.lang.Exception:
org.apache.axis2.AxisFault:

>> Operation Not found EPR is

>>
http://localhost:8080/axis2/services/Axis2SampleDocLitPortType

>> and WSA Action = ""

>>
org.apache.axis2.engine.DispatchingChecker.invoke(DispatchingChecker.java:7

>> 0) at org.apache.axis2.engine.Phase.invoke(Phase.java:167)
at

>>
org.apache.axis2.engine.AxisEngine.invokePhases(AxisEngine.java:443)

>> at

>>
org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:137)

>> at

>>
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(H

>> TTPTransportUtils.java:211) at

>>
org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:181)

>> at
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)

>>

>>

>> I have used the sample WSDL file Axis2SampleDocLit.wsdl from
the

>> Axis2 binary distribution (version 0.93). I am running the

>> WSDL2Java using following Ant target:

>>

>> <target name="wsdl2java" depends="clean,prepare">
<delete

>> dir="output" /> <mkdir dir="output"/> <java

>> classname="org.apache.axis2.wsdl.WSDL2Java" fork="true">

>> <classpath refid="axis.classpath"/> <arg
value="-uri"/>

>>

>> <arg file="wsdl/Axis2SampleDocLit.wsdl"/> <arg
value="-ss"/> <arg

>> value="-sd"/> <arg value="-o"/> <arg
file="output"/> <arg

>> value="-p"/> <arg
value="org.apache.axis2.userguide"/> </java>

>>

>> <!-- Move the schema folder to classpath--> <move

>> todir="${build.classes}"> <fileset dir="output">
<include

>> name="**/*schema*/**/*.class"/>

>>

>> <include name="**/*schema*/**/*.xsb"/>
</fileset> </move>

>>

>> </target>

>>

>> The code generation executes without errors and following

>> service.xml file is generated:

>>

>> <!--Auto generated Axis Service XML--> <service

>> name="Axis2SampleDocLitPortType"> <parameter
locked="false"

>>
name="ServiceClass">org.apache.axis2.userguide.Axis2SampleDocLitPortTypeSke

>> leton</parameter> <!--Mounting the method
echoStringArray-->

>> <operation name="echoStringArray"> <messageReceiver


>>
class="org.apache.axis2.userguide.Axis2SampleDocLitPortTypeMessageReceiver"

>> /> </operation> <!--Mounting the method
echoStruct--> <operation

>> name="echoStruct"> <messageReceiver

>>
class="org.apache.axis2.userguide.Axis2SampleDocLitPortTypeMessageReceiver"

>> /> </operation> <!--Mounting the method
echoString--> <operation

>> name="echoString"> <messageReceiver

>>
class="org.apache.axis2.userguide.Axis2SampleDocLitPortTypeMessageReceiver"

>> /> </operation& gt; </service>

>>

>> The client code looks like this:

>>

>> try { //Create the stub by passing the AXIS_HOME and target
EPR.

>> //We pass null to the AXIS_HOME and hence the stub will use
the

>> current directory sa the AXIS_HOME
Axis2SampleDocLitPortTypeStub

>> stub= new Axis2SampleDocLitPortTypeStub(null,

>>
"http://localhost:8080/axis2/services/Axis2SampleDocLitPortType");

>> //Create the request document to be sent.
EchoStringParamDocument

>> reqDoc= EchoStringParamDocument.Factory.newInstance();

>> reqDoc.setEchoStringParam("Axis2 Echo"); //invokes the web

>> service. EchoStringReturnDocument
resDoc=stub.echoString(reqDoc);

>> System.out.println(resDoc.getEchoStringReturn());

>>

>> } catch (Exception e) { e.printStackTrace(); }

>>

>> Used sample WSDL is in the attachment.

>>

>> Regards, Nikola

>>

>>

>>

>>

>>

>>

>> --------------------------------- Yahoo! Shopping Find Great

>> Deals on Holiday Gifts at Yahoo! Shopping

>

>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (MingW32)
 
iD8DBQFDsT/PjON2uBzUhh8RAoe8AJoDStE53vfHgUy5k6r3uV9yAcXFSgCeMOln
gb3wFBjSBPg9oPTohBjYi8Q=
=qj6O
-----END PGP SIGNATURE-----



Yahoo! DSL Something to write home about. Just $16.99/mo. or less

Reply via email to