[ http://jira.codehaus.org/browse/XFIRE-331?page=comments#action_64292 ]
Stuart Barlow commented on XFIRE-331: ------------------------------------- Hi Dan, I have trimmed down my jar set too... activation.jar commons-codec-1.3.jar commons-httpclient-3.0-rc2.jar commons-logging.jar jdom-1.0.jar servlet.jar stax-api-1.0.jar wsdl4j-1.5.1.jar wstx-asl-2.9.jar xfire-all-1.1-SNAPSHOT.jar XmlSchema-1.0.jar This seems to be the minimum that I can get away with. Does it look about right. I am in Java 1.4.2 if that is something of interest. My request still looks like... <soap:Body> <logon xmlns="http://hemp.hummingbird.com/v1/hemp" xsi:type="xsd:string">admin</logon> </soap:Body> Which is not right. Test logon code is... public void testLogon() throws Exception { URL url = new URL("http://localhost:8090/hc/webservices/LogonManager?wsdl"); Client client = new Client(url); Object[] response = client.invoke("logon", new Object[]{"admin", "Host", "admin", "xfire-unit-test", "edi-stuart"}); String sessionId = (String) response[0]; System.out.println("sessionId: " + sessionId); } And the service WSDL is... <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:tns="http://hemp.hummingbird.com/v1/hemp" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://hemp.hummingbird.com/v1/hemp"> <wsdl:types> <xsd:schema targetNamespace="http://hemp.hummingbird.com/v1/hemp" elementFormDefault="qualified" attributeFormDefault="qualified"> <xsd:element name="logoff"> <xsd:complexType> <xsd:sequence> <xsd:element name="in0" type="xsd:long" minOccurs="1" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="logoffResponse"> <xsd:complexType /> </xsd:element> <xsd:element name="logonUsingCAP"> <xsd:complexType> <xsd:sequence> <xsd:element name="in0" type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" /> <xsd:element name="in1" type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" /> <xsd:element name="in2" type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="logonUsingCAPResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="out" type="xsd:long" minOccurs="1" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="logon"> <xsd:complexType> <xsd:sequence> <xsd:element name="in0" type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" /> <xsd:element name="in1" type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" /> <xsd:element name="in2" type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" /> <xsd:element name="in3" type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" /> <xsd:element name="in4" type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="logonResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="out" type="xsd:long" minOccurs="1" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="logon1"> <xsd:complexType> <xsd:sequence> <xsd:element name="in0" type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" /> <xsd:element name="in1" type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" /> <xsd:element name="in2" type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" /> <xsd:element name="in3" type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" /> <xsd:element name="in4" type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" /> <xsd:element name="in5" type="xsd:string" nillable="true" minOccurs="1" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="logon1Response"> <xsd:complexType> <xsd:sequence> <xsd:element name="out" type="xsd:long" minOccurs="1" maxOccurs="1" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> </wsdl:types> <wsdl:message name="logonResponse"> <wsdl:part element="tns:logonResponse" name="parameters" /> </wsdl:message> <wsdl:message name="logon1Request"> <wsdl:part element="tns:logon1" name="parameters" /> </wsdl:message> <wsdl:message name="logonRequest"> <wsdl:part element="tns:logon" name="parameters" /> </wsdl:message> <wsdl:message name="logon1Response"> <wsdl:part element="tns:logon1Response" name="parameters" /> </wsdl:message> <wsdl:message name="logoffRequest"> <wsdl:part element="tns:logoff" name="parameters" /> </wsdl:message> <wsdl:message name="logonUsingCAPRequest"> <wsdl:part element="tns:logonUsingCAP" name="parameters" /> </wsdl:message> <wsdl:message name="logonUsingCAPResponse"> <wsdl:part element="tns:logonUsingCAPResponse" name="parameters" /> </wsdl:message> <wsdl:message name="logoffResponse"> <wsdl:part element="tns:logoffResponse" name="parameters" /> </wsdl:message> <wsdl:portType name="LogonManagerPortType"> <wsdl:operation name="logoff"> <wsdl:input message="tns:logoffRequest" name="logoffRequest" /> <wsdl:output message="tns:logoffResponse" name="logoffResponse" /> </wsdl:operation> <wsdl:operation name="logonUsingCAP"> <wsdl:input message="tns:logonUsingCAPRequest" name="logonUsingCAPRequest" /> <wsdl:output message="tns:logonUsingCAPResponse" name="logonUsingCAPResponse" /> </wsdl:operation> <wsdl:operation name="logon"> <wsdl:input message="tns:logonRequest" name="logonRequest" /> <wsdl:output message="tns:logonResponse" name="logonResponse" /> </wsdl:operation> <wsdl:operation name="logon1"> <wsdl:input message="tns:logon1Request" name="logon1Request" /> <wsdl:output message="tns:logon1Response" name="logon1Response" /> </wsdl:operation> </wsdl:portType> <wsdl:binding name="LogonManagerHttpBinding" type="tns:LogonManagerPortType"> <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="logoff"> <wsdlsoap:operation soapAction="" /> <wsdl:input name="logoffRequest"> <wsdlsoap:body use="literal" /> </wsdl:input> <wsdl:output name="logoffResponse"> <wsdlsoap:body use="literal" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="logonUsingCAP"> <wsdlsoap:operation soapAction="" /> <wsdl:input name="logonUsingCAPRequest"> <wsdlsoap:body use="literal" /> </wsdl:input> <wsdl:output name="logonUsingCAPResponse"> <wsdlsoap:body use="literal" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="logon"> <wsdlsoap:operation soapAction="" /> <wsdl:input name="logonRequest"> <wsdlsoap:body use="literal" /> </wsdl:input> <wsdl:output name="logonResponse"> <wsdlsoap:body use="literal" /> </wsdl:output> </wsdl:operation> <wsdl:operation name="logon1"> <wsdlsoap:operation soapAction="" /> <wsdl:input name="logon1Request"> <wsdlsoap:body use="literal" /> </wsdl:input> <wsdl:output name="logon1Response"> <wsdlsoap:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="LogonManager"> <wsdl:port binding="tns:LogonManagerHttpBinding" name="LogonManagerHttpPort"> <wsdlsoap:address location="http://localhost:8090/hc/webservices/LogonManager" /> </wsdl:port> </wsdl:service> </wsdl:definitions> Thanks for any help. Stuart. > Multiple parameters are not recognized with dynamic client > ---------------------------------------------------------- > > Key: XFIRE-331 > URL: http://jira.codehaus.org/browse/XFIRE-331 > Project: XFire > Type: Bug > Versions: 1.0, 1.1-beta-1 > Reporter: Stefan Becker > Assignee: Dan Diephouse > Fix For: 1.1 > > > I created a simple POJO as my service > {{monspaced}} > public class TestService { > public String concat(String string1, String string2) { > return string1 + string2; > } > } > {{monspaced}} > and a corresponding services.xml > {{monspaced}} > <?xml version="1.0" encoding="ISO-8859-1"?> > <beans xmlns="http://xfire.codehaus.org/config/1.0"> > <service> > <name>TestService</name> > <namespace>http://xfire.codehaus.org/TestService</namespace> > <serviceClass>TestService</serviceClass> > </service> > </beans> > {{monspaced}} > http://localhost:81/xfire/services/TestService?wsdl generates a valid wsdl > Then I tried to test my service with a dynamic client > {{monspaced}} > import java.net.MalformedURLException; > import java.net.URL; > import org.codehaus.xfire.client.Client; > public class TestServiceClient { > public static void main(String[] args) throws MalformedURLException, > Exception { > Client client = new Client(new > URL("http://localhost:81/xfire/services/TestService?wsdl")); > Object[] results = client.invoke("concat", new Object[] { "ABC", "123" > }); > System.out.println((String) results[0]); > } > } > {{monspaced}} > The response is 'ABCABC' not as I expected 'ABC123' -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
