You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by lethi <le...@yahoo.com> on 2011/08/12 11:08:44 UTC

axis2 client

Hi,

I created some web services with WSIG, an jade application using Asix 1.4,
(see in the wsdl file) and all work well (I test with interne SoapClient)
now I have to develop a soap client from an externe java application. For
that, I tried to use asix2 (last version). Axiom for generating a client (is
XMLBeans better complex schema of data?)  I put all .jar files of axis2's
lib in classpath but nothing work. 

Would you help me to create the stub classes and after client classes?


There are errors whan i run the RpcClient.jave:

Exception in thread "main" org.apache.axis2.AxisFault: First Element must
contain the local name, Envelope , but found definitions
        at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
        at
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:123)
        at
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:67)
        at
org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:354)
        at
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
        at
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
        at
org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
        at
org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:540)
        at
org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:521)
        at
org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:102)
        at requests.searchprofil.RpcClient.main(RpcClient.java:87)
Caused by: org.apache.axiom.soap.SOAPProcessingException: First Element must
contain the local name, Envelope , but found definitions
        at
org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.constructNode(StAXSOAPModelBuilder.java:305)
        at
org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createOMElement(StAXSOAPModelBuilder.java:252)
        at
org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.createNextOMElement(StAXSOAPModelBuilder.java:234)
        at
org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:249)
        at
org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnvelope(StAXSOAPModelBuilder.java:204)
        at
org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:154)
        at
org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder.<init>(StAXSOAPModelBuilder.java:140)
        at
org.apache.axis2.builder.BuilderUtil.getSOAPBuilder(BuilderUtil.java:686)
        at
org.apache.axis2.transport.TransportUtils.createDocumentElement(TransportUtils.java:215)
        at
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:145)
        at
org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:108)

And the class file:

package requests.searchprofil;

import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;

import javax.xml.namespace.QName;

import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.axis2.client.Options;
//import org.apache.axis2.client.ServiceClient;
import org.apache.axis2.rpc.client.RPCServiceClient;

import objectsEtoile.CompetenceFunctional;
import objectsEtoile.CompetenceTechnique;
import objectsEtoile.Profil;
import objectsEtoile.Researchprofil;
import objectsEtoile.Stockcvlist;

public class RpcClient {

        public static void main(String[] args1) throws AxisFault {

                RPCServiceClient serviceClient = new RPCServiceClient();

        Options options = serviceClient.getOptions();

        EndpointReference targetEPR = new
EndpointReference("http://localhost:8080/Etoile/ws/PlanningcvFunctions?WSDL");
        options.setTo(targetEPR);

        /*
          * Fetching a list of Profil from the Address book
          */

        // QName of the method to invoke

        QName opFindEntry = new
QName("http://localhost:8080/Etoile/ws/PlanningcvFunctions?WSDL",
"Researchprofil");
//        QName opFindEntry = new
QName("http://localhost:8080/Etoile/detail.jsp?service=PlanningcvFunctions",
"Researchprofil");

        /*
          * Constructing a new Entry
          */
        CompetenceTechnique ct= new CompetenceTechnique();
        ct.setId_tech(2);
        ct.setName_Tech("java");
        ct.setFather_tech(0);
        ct.setNiveau_tech("expert");

        CompetenceFunctional cf = new CompetenceFunctional();
        cf.setId_fonct(05);
        cf.setName_fonct("j2ee");
        cf.setFather_fonct(2);
        cf.setNiveau_fonct("confirme");

        Profil p = new Profil();

                /**
                * W3C-ISO8601 date format used in conversion from String to
Date
                */
//        SimpleDateFormat zulu = new
SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS");
//        try {
//                      Date d=
(Date)zulu.parseObject("2011-10-26T21:32:52.000");
//                      System.out.println("date: "+d.toString());
//                      p.setAvaibility(d);
//              } catch (ParseException e) {
//                      // TODO Auto-generated catch block
//                      e.printStackTrace();
//              }

        p.setIdent(0);
        p.setName("");
        p.setApplication(1); // 1= Planning, 2= Record
        p.addTechcompetences(ct);
        p.addFunctionalcompetences(cf);

        Researchprofil entry= new Researchprofil();
        entry.setProfil(p);


        Object[] opFindEntryArgs = new Object[] { entry };
                System.out.println("entry: "+entry.getProfil().toString());
                System.out.println("entryO: "+opFindEntryArgs.toString());
        Class[] returnTypes = new Class[] { Profil.class };

        Object[] response =
serviceClient.invokeBlocking(opFindEntry,opFindEntryArgs, returnTypes);

        Stockcvlist result = (Stockcvlist) response[0];

        if (result == null) {
            System.out.println("No entry found for " + entry);
            return;
        }

        System.out.println("Profils list  :" +
result.getAllCvlist().toString());
    }
}

there is wsdl file content:
  <?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions name="PlanningcvFunctions"
targetNamespace="urn:PlanningcvFunctions"
xmlns:impl="urn:PlanningcvFunctions"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <wsdl:types>
- <xsd:schema targetNamespace="urn:PlanningcvFunctions"
xmlns:impl="urn:PlanningcvFunctions"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:annotation />
- <xsd:element name="Researchprofil">
- <xsd:complexType>
- <xsd:sequence>
  <xsd:element name="Profil" type="impl:Profil" />
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
- <xsd:complexType name="Profil">
- <xsd:sequence>
  <xsd:element name="ident" type="xsd:int" />
  <xsd:element minOccurs="0" name="application" type="xsd:int" />
  <xsd:element minOccurs="0" name="name" type="xsd:string" />
  <xsd:element minOccurs="0" name="avaibility" type="xsd:dateTime" />
  <xsd:element name="techcompetences" type="impl:ArrayOfCompetenceTechnique"
/>
  <xsd:element name="functionalcompetences"
type="impl:ArrayOfCompetenceFunctional" />
  </xsd:sequence>
  </xsd:complexType>
- <xsd:complexType name="ArrayOfCompetenceTechnique">
- <xsd:sequence>
  <xsd:element maxOccurs="unbounded" minOccurs="0"
name="CompetenceTechnique" type="impl:CompetenceTechnique" />
  </xsd:sequence>
  </xsd:complexType>
- <xsd:complexType name="CompetenceTechnique">
- <xsd:sequence>
  <xsd:element minOccurs="0" name="id_tech" type="xsd:int" />
  <xsd:element minOccurs="0" name="name_tech" type="xsd:string" />
  <xsd:element minOccurs="0" name="father_tech" type="xsd:int" />
  <xsd:element minOccurs="0" name="niveau_tech" type="xsd:string" />
  </xsd:sequence>
  </xsd:complexType>
- <xsd:complexType name="ArrayOfCompetenceFunctional">
- <xsd:sequence>
  <xsd:element maxOccurs="unbounded" minOccurs="0"
name="CompetenceFunctional" type="impl:CompetenceFunctional" />
  </xsd:sequence>
  </xsd:complexType>
- <xsd:complexType name="CompetenceFunctional">
- <xsd:sequence>
  <xsd:element minOccurs="0" name="id_fonct" type="xsd:int" />
  <xsd:element minOccurs="0" name="name_fonct" type="xsd:string" />
  <xsd:element minOccurs="0" name="father_fonct" type="xsd:int" />
  <xsd:element minOccurs="0" name="niveau_fonct" type="xsd:string" />
  </xsd:sequence>
  </xsd:complexType>
- <xsd:element name="ResearchprofilResponse">
- <xsd:complexType>
- <xsd:sequence>
  <xsd:element name="ResearchprofilReturn" type="impl:Profil" />
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
- <xsd:element name="Stockcvlist">
- <xsd:complexType>
- <xsd:sequence>
  <xsd:element minOccurs="0" name="cvlist" type="impl:ArrayOfProfil" />
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
- <xsd:complexType name="ArrayOfProfil">
- <xsd:sequence>
  <xsd:element maxOccurs="unbounded" minOccurs="0" name="Profil"
type="impl:Profil" />
  </xsd:sequence>
  </xsd:complexType>
- <xsd:element name="StockcvlistResponse">
- <xsd:complexType>
- <xsd:sequence>
  <xsd:element name="StockcvlistReturn" type="impl:ArrayOfProfil" />
  </xsd:sequence>
  </xsd:complexType>
  </xsd:element>
  </xsd:schema>
  </wsdl:types>
- <wsdl:message name="ResearchprofilRequest">
  <wsdl:part name="parameters" element="impl:Researchprofil" />
  </wsdl:message>
- <wsdl:message name="StockcvlistResponse">
  <wsdl:part name="parameters" element="impl:StockcvlistResponse" />
  </wsdl:message>
- <wsdl:message name="StockcvlistRequest">
  <wsdl:part name="parameters" element="impl:Stockcvlist" />
  </wsdl:message>
- <wsdl:message name="ResearchprofilResponse">
  <wsdl:part name="parameters" element="impl:ResearchprofilResponse" />
  </wsdl:message>
- <wsdl:portType name="PlanningcvFunctionsPort">
- <wsdl:operation name="Researchprofil">
  <wsdl:input message="impl:ResearchprofilRequest" />
  <wsdl:output message="impl:ResearchprofilResponse" />
  </wsdl:operation>
- <wsdl:operation name="Stockcvlist">
  <wsdl:input message="impl:StockcvlistRequest" />
  <wsdl:output message="impl:StockcvlistResponse" />
  </wsdl:operation>
  </wsdl:portType>
- <wsdl:binding name="PlanningcvFunctionsBinding"
type="impl:PlanningcvFunctionsPort">
  <wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="Researchprofil">
  <wsdlsoap:operation soapAction="urn:PlanningcvFunctionsAction" />
- <wsdl:input>
  <wsdlsoap:body use="literal" />
  </wsdl:input>
- <wsdl:output>
  <wsdlsoap:body use="literal" />
  </wsdl:output>
  </wsdl:operation>
- <wsdl:operation name="Stockcvlist">
  <wsdlsoap:operation soapAction="urn:PlanningcvFunctionsAction" />
- <wsdl:input>
  <wsdlsoap:body use="literal" />
  </wsdl:input>
- <wsdl:output>
  <wsdlsoap:body use="literal" />
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <wsdl:service name="PlanningcvFunctionsService">
- <wsdl:port name="PlanningcvFunctionsPort"
binding="impl:PlanningcvFunctionsBinding">
  <wsdlsoap:address
location="http://localhost:8080/Etoile/ws/PlanningcvFunctions" />
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>

Thank a lot and best regard

Lethi

-- 
View this message in context: http://old.nabble.com/axis2-client-tp32248266p32248266.html
Sent from the Axis - Dev mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org