hmmmm;

As I can see please make sure Luc to be a java bean , currently it is
not a bean;
it should as follwos then you wont have any problem.
public class Luc {

   public String name;
   public String nachname;
   public int alter;

     public Luc(String name, String nachname, int alter) {
       this.name = name;
       this.nachname = nachname;
       this.alter = alter;
   }
public void setName(String name){
    this.name = name;
}

public String getName(){
  return this.name;
}

public void setNachname(String nachname){
    this.nachname= nachname;
}

public String getNachname(){
  return this.nachname;
}

public void setAlter(int alter){
    this.alter= alter;
}

public int getAlter(){
  return this.alter;
}

}

Lukas Fischer / HTA wrote:

> Hello
>
> I want to build a simple Webservice which returns a custom Object.
>
> Object is very simple:
>
> public class Luc {
>
>    public String name;
>    public String nachname;
>    public int alter;
>      public Luc(String name, String nachname, int alter) {
>        this.name = name;
>        this.nachname = nachname;
>        this.alter = alter;
>    }
> }
>
>
> services.xml is like (only relevant lines)
>    <operation name="getObject">
>      <messageReceiver 
> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
>    </operation>
>
> Public relevant line of Webservice is like:
>    public Luc getObject() throws Exception {
>        return new Luc("luc", "Fischer", 23);
>    }
>
>
> WSDL: I can see that there is a namespace ns1:Luc. As a client I use
> C# (VisualStudio). The client produces a class called Luc but of
> course without any attributes, because they are not provided/specified
> in the wsdl!
> How can I solve that? Do I need to write my own axis2-Receiver? Where
> is the problem?
>
> btw. The client works fine if the webservice just offers a simple
> String, vgl. getVersion-sample! But with an object ...
>
> <wsdl:definitions xmlns:ns1="http://org.apache.axis2/xsd";
> xmlns:xs="http://www.w3.org/2001/XMLSchema";
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
> xmlns:tns="http://org.apache.axis2/";
> targetNamespace="http://org.apache.axis2/";><wsdl:types><xs:schema
> xmlns:xs="http://www.w3.org/2001/XMLSchema";
> xmlns:ns1="http://org.apache.axis2/xsd";
> targetNamespace="http://org.apache.axis2/xsd";
> elementFormDefault="unqualified" attributeFormDefault="unqualified">
> <xs:element type="ns1:Luc" name="Luc" />
> <xs:complexType name="Luc">
> <xs:sequence />
> </xs:complexType>
> <xs:element name="getObjectRequest">
> <xs:complexType />
> </xs:element>
> <xs:element name="getObjectResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element type="ns1:Luc" name="return" />
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> <xs:element name="getVersionRequest">
> <xs:complexType />
>
> </xs:element>
> <xs:element name="getVersionResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element type="xs:string" name="return" />
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:schema></wsdl:types><wsdl:message
> name="getVersionResponseMessage"><wsdl:part name="part1"
> element="ns1:getVersionResponse" /></wsdl:message><wsdl:message
> name="getObjectResponseMessage"><wsdl:part name="part1"
> element="ns1:getObjectResponse" /></wsdl:message><wsdl:message
> name="getVersionRequestMessage"><wsdl:part name="part1"
> element="ns1:getVersionRequest" /></wsdl:message><wsdl:message
> name="getObjectRequestMessage"><wsdl:part name="part1"
> element="ns1:getObjectRequest" /></wsdl:message><wsdl:portType
> name="versionPort"><wsdl:operation name="getObject"><wsdl:input
> message="tns:getObjectRequestMessage" /><wsdl:output
> message="tns:getObjectResponseMessage"
> /></wsdl:operation><wsdl:operation name="getVersion"><wsdl:input
> message="tns:getVersionRequestMessage" /><wsdl:output
> message="tns:getVersionResponseMessage"
> /></wsdl:operation></wsdl:portType><wsdl:binding name="versionBinding"
> type="tns:versionPort"><soap:binding
> transport="http://schemas.xmlsoap.org/soap/http"; style="document"
> /><wsdl:operation name="getObject"><soap:operation
> soapAction="getObject" style="document" /><wsdl:input><soap:body
> use="literal" namespace="http://www.org.apache.axis2";
> /></wsdl:input><wsdl:output><soap:body use="literal"
> namespace="http://www.org.apache.axis2";
> /></wsdl:output></wsdl:operation><wsdl:operation
> name="getVersion"><soap:operation soapAction="getVersion"
> style="document" /><wsdl:input><soap:body use="literal"
> namespace="http://www.org.apache.axis2";
> /></wsdl:input><wsdl:output><soap:body use="literal"
> namespace="http://www.org.apache.axis2";
> /></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service
> name="version"><wsdl:port name="versionPortType0"
> binding="tns:versionBinding"><soap:address
> location="http://localhost:8080/axis2/services/version";
> /></wsdl:port></wsdl:service></wsdl:definitions>
>
>
> Thank you in advance for any help.
>
> Greets
> luc
>
>
>
>

-- 
Thanks,
Deepal
................................................................
~Future is Open~ 


Reply via email to