<div>I have built a library of web services with Axis2 using a contract-first approach. That is, I've hand-coded the wsdl and accompanying xsds, then generated both server- and client-side code from these contracts. I have a number of client applications using the client side code to access these SOAP 1.2 based services. SoapUI also works well with these services. I now wish to connect BIRT to these same services.</div>
<div> </div>
<div>When writing contracts, I separate operations from data types, such that the wsdl only contains endpoints and operations, and imports shared xsd files. For example, one such web service and corresponding data types are accessible as follows:</div>
<div> </div>
<div><a data-ipb='nomediaparse' href='
http://localhost:9763/services/PaymentChannelFetchService?wsdl'>http://localhost:9763/services/PaymentChannelFetchService?wsdl</a></div>
<div><a data-ipb='nomediaparse' href='
http://localhost:9763/services/PaymentChannelFetchService?xsd=schemas/FoundationTypes.xsd'>http://localhost:9763/services/PaymentChannelFetchService?xsd=schemas/FoundationTypes.xsd</a></div>
<div> </div>
<div>Again, everything works just fine with multiple client applications, SoapUI, and other tools.</div>
<div> </div>
<div>I am now using BIRT 4.5 within Eclipse/Mars, and have successfully created multiple data sources which connects to my services. The Test Connection exercise results in a successful ping.</div>
<div> </div>
<div>But I am unable to create a data set using any of my contract-first web services. That is, when I am asked to select my SOAP Parameters, the dialog box contains zero entries when in fact there should be many.</div>
<div> </div>
<div>The odd thing, is that I can connect to SOAP services on the internet (e.g. weather, stock price, etc.) and am able to view soap request parameters for those services. But for my services deployed on localhost, I cannot.</div>
<div> </div>
<div>Assistance in understanding why I cannot view my SOAP request parameters when creating a new data set is appreciated.</div>
<div> </div>
<div>
<div>I am having issues uploading my wsdl/xsd files, so am including these inline. First is the wsdl file:</div>
<div>
<div>
<pre class="_prettyXprint">
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://v1_0_0.service.foundation.xyz.com" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:foundationTypes="http://v1_0_0.common.service.foundation.xyz.com" xmlns:parameter="http://v1_0_0.parameters.service.foundation.xyz.com"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://v1_0_0.service.foundation.xyz.com" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsoap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/">
<wsdl:types>
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://v1_0_0.parameters.service.foundation.xyz.com">
<xs:import namespace="http://v1_0_0.common.service.foundation.xyz.com" schemaLocation="schemas/FoundationTypes.xsd" />
<xs:element name="paymentChannelFetchRequest">
<xs:complexType>
<xs:sequence>
<xs:element name="channelId" type="xs:string" minOccurs="0" />
<xs:element name="code" type="xs:string" minOccurs="0" />
<xs:element name="lpcCode" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="paymentChannelFetchResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="status" type="foundationTypes:Status" />
<xs:element name="paymentChannels" type="foundationTypes:PaymentChannel" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</wsdl:types>
<wsdl:message name="paymentChannelFetchRequest">
<wsdl:part name="parameters" element="parameter:paymentChannelFetchRequest" />
</wsdl:message>
<wsdl:message name="paymentChannelFetchResponse">
<wsdl:part name="parameters" element="parameter:paymentChannelFetchResponse" />
</wsdl:message>
<wsdl:portType name="PaymentChannelFetchPortType">
<wsdl:operation name="paymentChannelFetchRequest">
<wsdl:input name="paymentChannelFetchRequest" message="tns:paymentChannelFetchRequest">
</wsdl:input>
<wsdl:output name="paymentChannelFetchResponse" message="tns:paymentChannelFetchResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="PaymentChannelFetchSoap12Binding" type="tns:PaymentChannelFetchPortType">
<wsoap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="paymentChannelFetchRequest">
<wsoap12:operation soapAction="urn:paymentChannelFetchRequest" style="document" />
<wsdl:input>
<wsoap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<wsoap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="PaymentChannelFetchService">
<wsdl:port name="PaymentChannelFetchHttpSoap12Endpoint" binding="tns:PaymentChannelFetchSoap12Binding">
<wsoap12:address location="http://localhost:8080/axis2/services/PaymentChannelFetchService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
</pre>
<p>And the imported xsd file:</p>
<div>
<pre class="_prettyXprint">
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://v1_0_0.common.service.foundation.xyz.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
xmlns:foundationTypes="http://v1_0_0.common.service.foundation.xyz.com" targetNamespace="http://v1_0_0.common.service.foundation.xyz.com">
<!-- Common data types -->
<xs:simpleType name="StatusType">
<xs:restriction base="xs:string">
<xs:enumeration value="Info" />
<xs:enumeration value="Warning" />
<xs:enumeration value="Error" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Status">
<xs:sequence>
<xs:element name="statusType" type="foundationTypes:StatusType" />
<xs:element name="statusCode" type="xs:int" />
<xs:element name="description" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="PaymentChannel">
<xs:sequence>
<xs:element name="channelId" type="xs:string" minOccurs="0" />
<xs:element name="name" type="xs:string" />
<xs:element name="code" type="xs:string" />
<xs:element name="lpcCode" type="xs:string" minOccurs="0" />
<xs:element name="description" type="xs:string" />
<xs:element name="isActive" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:schema>
</pre>
</div>
</div>
</div>
</div>
<p> </p>