Hello,<br />
<br />
I am new to BIRT. I?m trying to consume a simple web service in eclipse 3.6.2 using BIRT 2.6.2.r262. <br />
<br />
The web service was developed in NWDS (SAP Enhancement Package 1 for SAP Net-Weaver Developer Studio 7.1 SP08 PAT0000), integrated in an EAR and deployed on an SAP NetWeaver Application Server Java 7.1 SP06. <br />
<br />
The method ?methodReturnArguments? of the web service are given three arguments ?Nachname?, ?Vorname?, ?Alter? and these given arguments will be returned by the web service afterwards. <br />
<br />
Testing the web service in soapUI, everything works fine. <br />
<br />
I created a new report in eclipse and a new data source ?Web Services Data Source? and added the WSDL Url.<br />
<br />
The problem is when creating a new data set from the ?Web Services Data Source?, the WebMethod ?methodReturnArguments? is successfully shown in the dialog, but on the next page <strong class='bbc'>no SOAP parameters of the WebMethod are shown </strong>in the dialog.<br />
<br />
<strong class='bbc'>Why are the parameters of the WebMethod missing?</strong><br />
<br />
Below, I included my classes ?HelloWorldPrakti? and ?Benutzer? as well as the generated WSDL. <br />
<br />
Please help.<br />
<br />
Thank you very much.<br />
<br />
Best regards,<br />
Markus<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
package net.rku.m.prakti;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
@WebService(name="HelloWorldPrakti", portName="HelloWorldPraktiPort", ser-viceName="HelloWorldPraktiService", targetNames-pace="http://rku.net/m/prakti/")
public class HelloWorldPrakti {
@WebMethod(operationName="methodReturnArguments", exclude=false)
@WebResult(name="ReturnBenutzer")
public Benutzer methodReturnArguments(
@WebParam(name="Nachname")
String nachname,
@WebParam(name="Vorname")
String vorname,
@WebParam(name="Alter")
int alter)
{
return new Benutzer(nachname, vorname, alter);
}
}
package net.rku.m.prakti;
import java.io.Serializable;
public class Benutzer implements Serializable {
/**
*
*/
private static final long serialVersionUID = 38712908934163405L;
String nachname;
String vorname;
int alter;
/**
*
@return the nachname
*/
public String getNachname() {
return nachname;
}
/**
*
@param nachname the nachname to set
*/
public void setNachname(String nachname) {
this.nachname = nachname;
}
/**
*
@return the vorname
*/
public String getVorname() {
return vorname;
}
/**
*
@param vorname the vorname to set
*/
public void setVorname(String vorname) {
this.vorname = vorname;
}
/**
*
@return the alter
*/
public int getAlter() {
return alter;
}
/**
*
@param alter the alter to set
*/
public void setAlter(int alter) {
this.alter = alter;
}
public Benutzer(String nachname, String vorname, int alter) {
super();
this.nachname = nachname;
this.vorname = vorname;
this.alter = alter;
}
public Benutzer() {
super();
// TODO Auto-generated constructor stub
}
}
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://rku.net/m/prakti/" targetNamespace="http://rku.net/m/prakti/">
<wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://rku.net/m/prakti/" version="1.0">
<xs:element name="methodReturnArguments" type="tns:methodReturnArguments"/>
<xs:element name="methodReturnArgumentsResponse" type="tns:methodReturnArgumentsResponse"/>
<xs:complexType name="methodReturnArguments">
<xs:sequence>
<xs:element minOccurs="0" name="Nachname" type="xs:string"/>
<xs:element minOccurs="0" name="Vorname" type="xs:string"/>
<xs:element name="Alter" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="methodReturnArgumentsResponse">
<xs:sequence>
<xs:element minOccurs="0" name="ReturnBenutzer" type="tns:benutzer"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="benutzer">
<xs:sequence>
<xs:element name="alter" type="xs:int"/>
<xs:element minOccurs="0" name="nachname" type="xs:string"/>
<xs:element minOccurs="0" name="vorname" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="methodReturnArgumentsIn">
<wsdl:part element="tns:methodReturnArguments" name="parameters"/>
</wsdl:message>
<wsdl:message name="methodReturnArgumentsOut">
<wsdl:part element="tns:methodReturnArgumentsResponse" name="methodReturnArgumentsResponse"/>
</wsdl:message>
<wsdl:portType name="HelloWorldPrakti">
<wsdl:operation name="methodReturnArguments" parameterOrder="parameters">
<wsdl:input message="tns:methodReturnArgumentsIn"/>
<wsdl:output message="tns:methodReturnArgumentsOut"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" name="HelloWorldPraktiBinding" type="tns:HelloWorldPrakti">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="methodReturnArguments">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body parts="parameters" use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="HelloWorldPraktiService">
<wsdl:port binding="tns:HelloWorldPraktiBinding" name="HelloWorldPraktiPort">
<soap:address xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" location="http://[...]/PraktiWebService/HelloWorldPraktiService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
</pre>