JBoss not reaching web services on remote IP - web-services

I have been going around this but i can't seem to find the problem. Maybe you can help me, I apologize if the post is a bit long as I have tried to control all the error sources.
I developed 2 web services which are running on a remote server on Amazon, the services can be reach directly trough their http addresses and i can make request to them using SoapUI.
http://x.x.x.x:8080/cAClienteWEB/ConsultarEstado/ConsultarEstado?wsdl
I have an application which consumes those services, i've tried locally with both the services and the consuming app on the same machine and it works like a charm. But when the services are on the remote host the app simply does not reach them even though i have added them from scratch to be consumed from the remote IP. I get the error:
WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (EJB default - 1)
Interceptor for {http://servicios.cA.com/}ConsultarEstado#{http:/
/servicios.cA.com/}consultar has thrown exception, unwinding now: org.apache.cxf.interceptor.Fault: Could not send Message.
......
Caused by: org.apache.cxf.transport.http.HTTPException: HTTP response '404: Not Found'
when communicating with http://localhost:8080/cAClienteWEB/ConsultarEstado/ConsultarEstado
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1561)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1513)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1318)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:632)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:570)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:479)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:382)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:335)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135)
... 56 more
Obviously it is trying to reach them on the localhost where they don't exist. I modified the Jboss Standalone.xml with
<subsystem xmlns="urn:jboss:domain:webservices:1.2">
<modify-wsdl-address>true</modify-wsdl-address>
<wsdl-host>X.X.X.X</wsdl-host>
<wsdl-port>8080</wsdl-port>
<endpoint-config name="Standard-Endpoint-Config"/>
<endpoint-config name="Recording-Endpoint-Config">
<pre-handler-chain name="recording-handlers" protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP ##SOAP12_HTTP_MTOM">
<handler name="RecordingHandler" class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
</pre-handler-chain>
</endpoint-config>
<client-config name="Standard-Client-Config"/>
</subsystem>
But still it keeps on reaching them in the localhost. From the app i have printed the address from which it is trying to fetch the data and it prints the right remote address.
System.out.println(service.getWSDLDocumentLocation());
Honestly i don't know what else to modify to get it to work.
Here is one of the services wsdl definition
?xml version='1.0' encoding='UTF-8'?><wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://servicios.cometeAlguito.com/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" name="ConsultarEstado" targetNamespace="http://servicios.cometeAlguito.com/">
<wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://servicios.cometeAlguito.com/" elementFormDefault="unqualified" targetNamespace="http://servicios.cometeAlguito.com/" version="1.0">
<xs:element name="consultar" type="tns:consultar"/>
<xs:element name="consultarResponse" type="tns:consultarResponse"/>
<xs:element name="recibo" type="tns:recibo"/>
<xs:complexType name="consultar">
<xs:sequence/>
</xs:complexType>
<xs:complexType name="consultarResponse">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="return" type="tns:recibo"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="recibo">
<xs:sequence>
<xs:element minOccurs="0" name="combo" type="xs:string"/>
<xs:element minOccurs="0" name="hora" type="xs:string"/>
<xs:element minOccurs="0" name="nombreCliente" type="xs:string"/>
<xs:element minOccurs="0" name="numOrden" type="xs:string"/>
<xs:element minOccurs="0" name="producto" type="xs:string"/>
<xs:element minOccurs="0" name="telefono" type="xs:string"/>
<xs:element minOccurs="0" name="total" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="consultarResponse">
<wsdl:part element="tns:consultarResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="consultar">
<wsdl:part element="tns:consultar" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="ConsultarEstado">
<wsdl:operation name="consultar">
<wsdl:input message="tns:consultar" name="consultar">
</wsdl:input>
<wsdl:output message="tns:consultarResponse" name="consultarResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ConsultarEstadoSoapBinding" type="tns:ConsultarEstado">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="consultar">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="consultar">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="consultarResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="ConsultarEstado">
<wsdl:port binding="tns:ConsultarEstadoSoapBinding" name="ConsultarEstadoPort">
<soap:address location="http://X.X.X.X:8080/cAClienteWEB/ConsultarEstado/ConsultarEstado"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

Well, just in case anybody is stuck in the same situation.
On the remote host where you put the web service, is where you should modify the Standalone.xml...

To resolve this error, change the jboss configuration for modify-wsdl-address from true to false, this will resolve the issue.
actually, Jboss modifies the wsdl location based on this setting so it could not reach the address.

Related

how to consume a web service in mule flow?

I am beginning with Mule flows. I am trying to consume a webservice in it.
But I am getting some some errors while running.
Error reported by XML parser: Content is not allowed in prolog
Here is my code
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:ws="http://www.mulesoft.org/schema/mule/ws" xmlns:data-mapper="http://www.mulesoft.org/schema/mule/ee/data-mapper" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.6.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/ws http://www.mulesoft.org/schema/mule/ws/current/mule-ws.xsd
http://www.mulesoft.org/schema/mule/ee/data-mapper http://www.mulesoft.org/schema/mule/ee/data-mapper/current/mule-data-mapper.xsd">
<http:listener-config name="HTTP_Listener_Configuration" host="localhost" port="8095" doc:name="HTTP Listener Configuration"/>
<ws:consumer-config name="Web_Service_Consumer" wsdlLocation="MSCRMDiscoveryService_WSDL.wsdl" service="DiscoveryService" port="CustomBinding_IDiscoveryService" serviceAddress="https://disco.crm5.dynamics.com/XRMServices/2011/Discovery.svc" doc:name="Web Service Consumer"/>
<data-mapper:config name="Xml_ExecuteResponse__To_Xml_Execute_" transformationGraphPath="xml_executeresponse__to_xml_execute_.grf" doc:name="Xml_ExecuteResponse__To_Xml_Execute_"/>
<data-mapper:config name="Xml_ExecuteResponse__To_Xml_Execute__1" transformationGraphPath="xml_executeresponse__to_xml_execute__1.grf" doc:name="Xml_ExecuteResponse__To_Xml_Execute__1"/>
<flow name="mscrmdiscoveryservice-consumerFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="*" doc:name="HTTP"/>
<data-mapper:transform config-ref="Xml_ExecuteResponse__To_Xml_Execute_" doc:name="Xml<ExecuteResponse> To Xml<Execute>"/>
<ws:consumer config-ref="Web_Service_Consumer" operation="Execute" doc:name="Web Service Consumer"/>
<data-mapper:transform config-ref="Xml_ExecuteResponse__To_Xml_Execute__1" doc:name="Xml<ExecuteResponse> To Xml<Execute>"/>
</flow>
</mule>
wsdl file
<?xml version='1.0' encoding='UTF-8'?><wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://example.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" name="HelloWorldService" targetNamespace="http://example.org/">
<wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://example.org/" elementFormDefault="unqualified" targetNamespace="http://example.org/" version="1.0">
<xs:element name="sayHi" type="tns:sayHi"/>
<xs:element name="sayHiResponse" type="tns:sayHiResponse"/>
<xs:complexType name="sayHi">
<xs:sequence>
<xs:element minOccurs="0" name="arg0" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="sayHiResponse">
<xs:sequence>
<xs:element minOccurs="0" name="return" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="sayHi">
<wsdl:part element="tns:sayHi" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:message name="sayHiResponse">
<wsdl:part element="tns:sayHiResponse" name="parameters">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="HelloWorld">
<wsdl:operation name="sayHi">
<wsdl:input message="tns:sayHi" name="sayHi">
</wsdl:input>
<wsdl:output message="tns:sayHiResponse" name="sayHiResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="HelloWorldServiceSoapBinding" type="tns:HelloWorld">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="sayHi">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="sayHi">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="sayHiResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="HelloWorldService">
<wsdl:port binding="tns:HelloWorldServiceSoapBinding" name="HelloWorldPort">
<soap:address location="http://localhost:8085/hello"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
How can I fix this error?
From the flow you shared, is difficult to tell where the error exactly exists ... It may be your from your wrong XML structure.
Also not clear the use of Datamapper in consuming external web service
The easiest way to consume an existing web service from Mule flow is to prepare/build the soap request for the external service using set payload or XSLT transformer, and then dispatch it through HTTP outbound or HTTP request component.

Mulesoft-CXF WSDL-First Web service error

All,
I have an issue with developing a contract-first SOAP web service in AnyPoint Studio (July 2014, with Muleserver 3.5.1 on max OS X, JDK 7). My process is:
Create WSDL by hand (XML Schema embedded inside WSDL for simplicity)
Create Synchronous HTTP flow in Anypoint
Generate Java classes from WSDL (no errors, works fine)
Start Flow from inside IDE (no errors,works fine).
Import WSDL and generate SOAP request in SOAPUI (no errors, works fine)
invoke SOAP request
AT this point I get the following error on marshalling the SOAP request (my flow has no backend logic and will fail - but that is not the issue):
org.apache.cxf.phase.PhaseInterceptorChain: Interceptor for {http://login.demo/}LoginServiceService has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Message part {urn:MYNAMESPACE}requestParms was not recognized. (Does it exist in service WSDL?)
at org.apache.cxf.interceptor.DocLiteralInInterceptor.validatePart(DocLiteralInInterceptor.java:231)
at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:201)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:122)
at org.mule.module.cxf.CxfInboundMessageProcessor.sendToDestination(CxfInboundMessageProcessor.java:338)
My WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="urn:MYNAMESPACE"
xmlns:tns="urn:MYNAMESPACE"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<wsdl:types>
<xs:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:MYNAMESPACE"
xmlns="urn:MYNAMESPACE"
elementFormDefault="unqualified" attributeFormDefault="unqualified">
<xs:element name="requestParms" type="LoginRequestType" />
<xs:element name="responseParms" type="LoginResponseType"/>
<xs:complexType name="LoginRequestType">
<xs:sequence>
<xs:element name="username" type="xs:string"/>
<xs:element name="password" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="LoginResponseType">
<xs:sequence>
<xs:element name="success" type="xs:boolean"/>
<xs:element name="authenticatedToken" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<!-- MESSAGES -->
<wsdl:message name="LoginRequest">
<wsdl:part name="parameters" element="tns:requestParms"/>
</wsdl:message>
<wsdl:message name="LoginResponse">
<wsdl:part name="parameters" element="tns:responseParms"/>
</wsdl:message>
<!-- WSDL Port Types -->
<wsdl:portType name="AuthenticatePortType">
<wsdl:operation name="login">
<wsdl:input message="tns:LoginRequest"/>
<wsdl:output message="tns:LoginResponse"/>
</wsdl:operation>
</wsdl:portType>
<!-- WSDL Bindings -->
<wsdl:binding name="AuthenticateBinding" type="tns:AuthenticatePortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="login">
<soap:operation soapAction="login"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!-- WSDL Services -->
<wsdl:service name="LoginService">
<wsdl:port name="LoginPort" binding="tns:AuthenticateBinding">
<soap:address location="http://localhost:8081/demo"/>
</wsdl:port>
</wsdl:service>
My Mule Config XML:
<http:endpoint exchange-pattern="request-response" host="localhost" port="8081" method="POST" name="HTTP" doc:name="HTTP"/>
<flow name="loginFlow" doc:name="loginFlow" initialState="started">
<http:inbound-endpoint exchange-pattern="request-response" path="demo" doc:name="Demo" host="localhost" port="8081"/>
<cxf:jaxws-service doc:name="CXF" validationEnabled="true" serviceClass="demo.login.LoginService"/>
</flow>
My SOAP Request:
<soapenv:Envelope xmlns:ns="urn:MYNAMESPACE"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" >
<soapenv:Header/>
<soapenv:Body>
<ns:requestParms>
<username>aa</username>
<password>bb</password>
</ns:requestParms>
</soapenv:Body>
</soapenv:Envelope>
Also, I have not modified the generated java code (wsdl2java I assume inside Anypoint) - just run it.
Any suggestions?

wsimport - Confusing WARNINGS

Hi i'm newbie working with wsdl, xsd and web services... I must generate some class from a wsdl generated in EA.
I found some problems trying to import 2 local schemas on same namespace, so my workaround was include schemas.
But now i find an Error that i can't resolve:
[ERROR] XML type "{http://www.iTEC.aero/AMANSequence}filter" could not be resolved, XML to JAVA binding failed! Please check the wsdl:part "filter" in the wsdl:message " {http://www.iTEC.aero
/AMANSequence}amanMessageFilter". line 75 of ***.wsdl
WSDL
<?xml version='1.0' encoding='UTF-8'?>
<wsdl:definitions name="iSwimService"
targetNamespace="http://www.iTEC.aero/AMANSequence"
xmlns:ns1="http://schemas.xmlsoap.org/soap/http"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.iTEC.aero/AMANSequence"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!--TYPES-->
<wsdl:types>
<xs:schema elementFormDefault="qualified" version="1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:seq="http://www.iTEC.aero/AMANSequence"
targetNamespace="http://www.iTEC.aero/AMANSequence">
<xs:include schemaLocation="AMANFilter.xsd" />
<xs:include schemaLocation="AMANSequence.xsd" />
<xs:element name="filter" type="seq:AMANSequenceFilterType" />
<xs:element name="sequence" type="seq:AMANSequence" />
</xs:schema>
</wsdl:types>
<!-- MESSAGES -->
<wsdl:message name="amanMessageSequence">
<wsdl:part type="tns:sequence" name="sequence" />
</wsdl:message>
<wsdl:message name="amanMessageFilter">
<wsdl:part type="tns:filter" name="filter" />
</wsdl:message>
<wsdl:message name="amanMessageSubscription">
<wsdl:part type="xs:string" name="stakeholderId" />
<wsdl:part type="tns:filter" name="filter" />
</wsdl:message>
<wsdl:message name="amanMessageUnSubscription">
<wsdl:part type="xs:string" name="stakeholderId" />
</wsdl:message>
<wsdl:message name="amanMessageReturn">
<wsdl:part type="xs:string" name="returnValue" />
</wsdl:message>
<wsdl:message name="amanFaultMessage">
<wsdl:part name="operationName" type="xs:string"/>
<wsdl:part name="errorCode" type="xs:string"/>
<wsdl:part name="errorMessage" type="xs:string"/>
</wsdl:message>
<!-- PORT TYPES -->
<wsdl:portType name="AMANSequenceInfo">
<wsdl:operation name="getAMANSequence">
<wsdl:input message="tns:amanMessageFilter" />
<wsdl:output message="tns:amanMessageSequence"/>
<wsdl:fault message="tns:amanFaultMessage" name="faultMessage"/>
</wsdl:operation>
<wsdl:operation name="publishAMANSequence">
<wsdl:input message="tns:amanMessageSequence" />
<wsdl:output message="tns:amanMessageReturn" />
<wsdl:fault message="tns:amanFaultMessage" name="faultMessage"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:portType name="AMANSequenceSubscription">
<wsdl:operation name="subscribeToAMANSequence">
<wsdl:input message="tns:amanMessageSubscription" />
<wsdl:output message="tns:amanMessageReturn" />
<wsdl:fault message="tns:amanFaultMessage" name="faultMessage"/>
</wsdl:operation>
<wsdl:operation name="unsubscribeToAMANSequence">
<wsdl:input message="tns:amanMessageUnSubscription" />
<wsdl:output message="tns:amanMessageReturn" />
<wsdl:fault message="tns:amanFaultMessage" name="faultMessage"/>
</wsdl:operation>
</wsdl:portType>
<!-- BINDING -->
<wsdl:binding name="AMANSequenceInfoSOAP" type="tns:AMANSequenceInfo">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
<!--
return the sequence data according to the filters provided.
if no filter is provided, all the sequence data for this aman is provided
-->
<wsdl:operation name="getAMANSequence">
<soap:operation soapAction="http://www.iTEC.aero/getAMANSequence" />
<wsdl:input>
<soap:body use="literal" namespace="http://www.iTEC.aero/AMANSequence" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" namespace="http://www.iTEC.aero/AMANSequence"/>
</wsdl:output>
</wsdl:operation>
<!--
A request/reply operation deployed in the iMAS ESB.
The invocation of this operation will trigger a request in the iMAS ESB for distributing
this information to several stakeholders in a async way
-->
<wsdl:operation name="publishAMANSequence">
<soap:operation soapAction="http://www.iTEC.aero/publishAMANSequence" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="AMANSequenceSubscriptionSOAP" type="tns:AMANSequenceSubscription">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
<!--
subscribe to the corresponding aman indicating the filter with the information the customer is interested in receiving.
The stakeholderId is also provided in this operation to manage the publication of the information
-->
<wsdl:operation name="subscribeToAMANSequence">
<soap:operation soapAction="" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<!--
unsubscribe to the corresponding aman indicating the filter with the information the customer is interested in receiving.
The stakeholderId is also provided in this operation to manage the publication of the information
-->
<wsdl:operation name="unsubscribeToAMANSequence">
<soap:operation soapAction="" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!-- SERVICES -->
<wsdl:service name="AMANSequenceInfo">
<wsdl:port binding="tns:AMANSequenceInfoSOAP" name="AMANSequenceInfoService">
<soap:address location="null" />
</wsdl:port>
<wsdl:port binding="tns:AMANSequenceSubscriptionSOAP" name="AMANSequenceSubscriptionService">
<soap:address location="null" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
FILTER XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema version="0.1"
elementFormDefault="qualified"
targetNamespace="http://www.iTEC.aero/AMANSequence"
xmlns:filter="http://www.iTEC.aero/AMANSequence"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="AMANSequenceFilterType">
<xs:sequence>
<xs:element name="filterRows" type="filter:FilterRowType" minOccurs="1" maxOccurs="1" />
<xs:element name="filterColumns" type="filter:FilterColumnsType" minOccurs="1" maxOccurs="1" />
<xs:element name="filterUpdate" type="filter:FilterUpdatedType" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="FilterRowType">
<xs:annotation>
<xs:documentation>These filters are based on the ""DomainOfinterest" class in the logical model</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="fixName" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="typeOfFix" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="departureAerodrome" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="destinationAerodrome" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="runwayDirection" type="xs:string" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="FilterColumnsType">
<xs:annotation>
<xs:documentation>These filters are based on filter example discussed in the SICG</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="sequenceNumber" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="RunwayId" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="LandingTime" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="CallSign" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="MF" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="OTA" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="TTL" type="xs:string" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="FilterUpdatedType">
<xs:annotation>
<xs:documentation>These filters are based on filter example discussed in the SICG</xs:documentation>
</xs:annotation>
<xs:choice>
<xs:element name="periodic" type="xs:string" minOccurs="1" maxOccurs="1" />
<xs:element name="sequenceEntryOnChange" type="xs:string" minOccurs="1" maxOccurs="1" />
</xs:choice>
</xs:complexType>
</xs:schema>
If somebody can help ;!!
SOLVED
I changed binding style to document.
Create complexType in the schema for messages with multiple parts and compile without errors or warnings.

How To Get Response XML From Generated Stub

I'm using Axis2's wsdl2java to generate a stub for the following WSDL (please note that if names don't match up, it's probably from my obfuscation of the code):
<?xml version="1.0" encoding="UTF-8" standalone="no"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:sch="http://test.com/saucy/schemas" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://test.com/saucy/definitions" targetNamespace="http://test.com/saucy/definitions">
<wsdl:types>
<xs:schema xmlns:wtfd="http://test.com/saucy/schemas" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://test.com/saucy/schemas">
<xs:element name="fubarmanagerRequest">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="1" name="addUsers" type="wtfd:addUsersType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="addUsersType">
<xs:sequence>
<xs:element maxOccurs="unbounded" name="user" type="wtfd:userType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="userType">
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="1" name="emailAddress" type="xs:string"/>
<xs:element maxOccurs="1" minOccurs="1" name="password" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="fubarmanagerRequest">
<wsdl:part element="sch:fubarmanagerRequest" name="fubarmanagerRequest">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="wtfsaucy">
<wsdl:operation name="fubarmanager">
<wsdl:input message="tns:fubarmanagerRequest" name="fubarmanagerRequest">
</wsdl:input>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="wtfsaucySoap11" type="tns:wtfsaucy">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="fubarmanager">
<soap:operation soapAction=""/>
<wsdl:input name="fubarmanagerRequest">
<soap:body use="literal"/>
</wsdl:input>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="wtfsaucyService">
<wsdl:port binding="tns:wtfsaucySoap11" name="wtfsaucySoap11">
<soap:address location="http://localhost:8080/mailerManagerService/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
However, it seems like the generated stub isn't providing a means for me to retrieve the response XML:
/**
* Auto generated method signature
*
*/
public void fubarManager(com.obfuscated.fubarRequest fubarRequest0
) throws java.rmi.RemoteException
I'm able to get the response XML in SoapUI, but How can I retrieve it through the web generated service client code? Is something missing from my WSDL? Are there additional options I should be passing to wsdl2java?
I had to make sure my WSDL included a section for the response message:
<wsdl:portType name="wtfDirect">
<wsdl:operation name="MailManager">
<wsdl:input message="tns:MailManagerRequest" name="MailManagerRequest">
</wsdl:input>
<wsdl:output message="tns:MailManagerResponse" name="MailManagerResponse">
</wsdl:output>
</wsdl:operation>
</wsdl:portType>

Soap request elements not populated in SOAPUI

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<soap:Header/>
<soap:Body>
<xs:QueryProductionCalendarRequest/>
</soap:Body>
</soap:Envelope>
Due to these empty request elements our customer is unable to generate a java client using the WSDL. Therfore, it's very eminent that I address this issue.The WSDL looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:axis2="http://ws.apache.org/axis2" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://ws.apache.org/axis2">
<wsdl:documentation>FlexisService</wsdl:documentation>
<wsdl:types>
<xs:element name="QueryProductionCalendarRequest" type="QueryProductionCalendarRequestType"/>
<xs:complexType name="QueryProductionCalendarRequestType">
<xs:sequence>
<xs:element name="Plant" type="xs:string"/>
<xs:element name="Line" type="xs:string"/>
<xs:element name="StartDate" type="xs:date" minOccurs="0"/>
<xs:element name="EndDate" type="xs:date" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:element name="QueryProductionCalendarResponse" type="QueryProductionCalendarResponseType"/>
<xs:complexType name="QueryProductionCalendarResponseType">
<xs:sequence>
<xs:element name="Plant" type="xs:string"/>
<xs:element name="Line" type="xs:string"/>
<xs:element name="ProductionDayList" type="ProductionDayListType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProductionDayListType">
<xs:sequence>
<xs:element name="ProductionDay" type="ProductionDayType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProductionDayType">
<xs:sequence>
<xs:element name="ProductionDate" type="xs:date"/>
<xs:element name="ProductionRate" type="xs:integer"/>
<xs:element name="ProductionShiftList" type="ProductionShiftListType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProductionShiftListType">
<xs:sequence>
<xs:element name="ProductionShift" type="ProductionShiftType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ProductionShiftType">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="ShiftRate" type="xs:integer"/>
<xs:element name="StartDateTime" type="xs:dateTime"/>
<xs:element name="EndDateTime" type="xs:dateTime"/>
</xs:sequence>
</xs:complexType>
</wsdl:types>
<wsdl:message name="QueryProductionCalendarRequestMessage">
<wsdl:part name="parameters" element="xs:QueryProductionCalendarRequest"/>
</wsdl:message>
<wsdl:message name="QueryProductionCalendarResponseMessage">
<wsdl:part name="parameters" element="xs:QueryProductionCalendarResponse"/>
</wsdl:message>
<wsdl:portType name="FlexisServicePortType">
<wsdl:operation name="QueryProductionCalendar">
<wsdl:input message="axis2:QueryProductionCalendarRequestMessage" wsaw:Action="urn:QueryProductionCalendar"/>
<wsdl:output message="axis2:QueryProductionCalendarResponseMessage" wsaw:Action="urn:QueryProductionCalendarResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="FlexisServiceSoap11Binding" type="axis2:FlexisServicePortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<wsdl:operation name="QueryProductionCalendar">
<soap:operation soapAction="urn:QueryProductionCalendar" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="FlexisServiceSoap12Binding" type="axis2:FlexisServicePortType">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<wsdl:operation name="QueryProductionCalendar">
<soap12:operation soapAction="urn:QueryProductionCalendar" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="FlexisServiceHttpBinding" type="axis2:FlexisServicePortType">
<http:binding verb="POST"/>
<wsdl:operation name="QueryProductionCalendar">
<http:operation location="FlexisService/QueryProductionCalendar"/>
<wsdl:input>
<mime:content type="text/xml" part="QueryProductionCalendar"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="QueryProductionCalendar"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="FlexisService">
<soap:address location='http://localhost:8080/axis2/services/FlexisService'/>
</wsdl:service>
</wsdl:definitions>
Can someone please nudge me in the right direction as to why that's happening?