I've regenerated my client/service using Axis2 1.3-RC2 and I'm getting
different errors but still having problems.
This seems to work just fine if I use the ADB binding, but some of our
wsdls are too complex for ADB and we are trying to be consistant in our
binding.
On the client side, I get the following error now:
[java] stub.validatePassword(reqDoc);
[java] org.apache.axis2.AxisFault:
org.apache.xmlbeans.impl.values.XmlComplexContentImpl
[java] at
org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java
:486)
[java] at
org.apache.axis2.description.OutInAxisOperationClient.handleResponse(Out
InAxisOperation.java:343)
[java] at
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOper
ation.java:387)
[java] at
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInA
xisOperation.java:211)
[java] at
org.apache.axis2.client.OperationClient.execute(OperationClient.java:163
)
[java] at
samples.quickstart.service.xmlbeans.IntegrationPortTypeImplServiceStub.v
alidatePasswordIntegrationPortTypeImplServiceStub.java:169)
[java] at
samples.quickstart.clients.XMLBEANSClient.main(XMLBEANSClient.java:53)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[java] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
[java] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:324)
[java] at
org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:217)
[java] at
org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:152)
[java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:747)
[java] at
org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:201)
[java] at
org.apache.tools.ant.taskdefs.Java.execute(Java.java:104)
[java] at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
[java] at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
[java] at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:324)
[java] at
org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1
05)
[java] at org.apache.tools.ant.Task.perform(Task.java:348)
[java] at org.apache.tools.ant.Target.execute(Target.java:357)
[java] at
org.apache.tools.ant.Target.performTasks(Target.java:385)
[java] at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
[java] at
org.apache.tools.ant.Project.executeTarget(Project.java:1298)
[java] at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecut
or.java:41)
[java] at
org.apache.tools.ant.Project.executeTargets(Project.java:1181)
[java] at org.apache.tools.ant.Main.runBuild(Main.java:698)
[java] at org.apache.tools.ant.Main.startAnt(Main.java:199)
[java] at
org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
[java] at
org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
[java]
[java]
[java]
[java]
Client Code:
---------------------------------
IntegrationPortTypeImplServiceStub stub =
new IntegrationPortTypeImplServiceStub
("http://10.236.6.242:7001/axis2/services/IntegrationPortTypeImplService
");
//("http://10.236.6.242:7001/providerpay/services/IntegrationPortTypeImp
lService");
ValidatePasswordRequestDocument reqDoc =
ValidatePasswordRequestDocument.Factory.newInstance();
com.zionsbank.strongauth.webservices.beans.RequestType requestType =
reqDoc.addNewValidatePasswordRequest();
Credential credential_CUSTOMER_USER_ID =
requestType.addNewCredentials();
credential_CUSTOMER_USER_ID.setType(CredentialType.CUSTOMER_USER_ID);
credential_CUSTOMER_USER_ID.setValue("user_id");
Credential credential_CUSTOMER_PASSWORD =
requestType.addNewCredentials();
credential_CUSTOMER_PASSWORD.setType(CredentialType.CUSTOMER_PASSWORD);
credential_CUSTOMER_PASSWORD.setValue("password");
System.err.println("\n\nrequestType : \n"+requestType+"\n\n");
ValidatePasswordResponseDocument resDoc =
stub.validatePassword(reqDoc);
---------------------------------
WSDL:
IntegrationServices.wsdl
---------------------------------
<?xml version='1.0' encoding='UTF-8' ?>
<wsdl:definitions
targetNamespace="http://strongauth.zionsbank.com/webservices"
xmlns:defs="http://strongauth.zionsbank.com/webservices"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:types="http://strongauth.zionsbank.com/webservices/beans"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
<wsdl:types>
<xsd:schema>
<xsd:import
namespace="http://strongauth.zionsbank.com/webservices/beans"
schemaLocation="IntegrationTypes.xsd"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="ValidatePasswordRequest">
<wsdl:part element="types:ValidatePasswordRequest"
name="validatePasswordRequestMessage"/>
</wsdl:message>
<wsdl:message name="ValidatePasswordResponse">
<wsdl:part element="types:ValidatePasswordResponse"
name="validatePasswordResponseMessage"/>
</wsdl:message>
<wsdl:portType name="IntegrationPortType">
<wsdl:operation name="validatePassword">
<wsdl:input message="defs:ValidatePasswordRequest"
name="validatePasswordRequest"/>
<wsdl:output message="defs:ValidatePasswordResponse"
name="validatePasswordResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="IntegrationSoapBinding"
type="defs:IntegrationPortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="validatePassword">
<soap:operation style="document"
soapAction="http://strongauth.zionsbank.com/webservices/validatePassword
"/>
<wsdl:input name="validatePasswordRequest">
<soap:body parts="validatePasswordRequestMessage" use="literal"/>
</wsdl:input>
<wsdl:output name="validatePasswordResponse">
<soap:body parts="validatePasswordResponseMessage" use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="IntegrationPortTypeImplService">
<wsdl:port binding="defs:IntegrationSoapBinding"
name="IntegrationPortTypeImplPort">
<soap:address
location="http://localhost:7001/IntegrationService/IntegrationServices"/
>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
---------------------------
IntegrationTypes.xsd
---------------------------
<?xml version='1.0' encoding='UTF-8' ?>
<xsd:schema
targetNamespace="http://strongauth.zionsbank.com/webservices/beans"
xmlns="http://strongauth.zionsbank.com/webservices/beans"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/XMLSchema">
<xsd:include schemaLocation="BaseTypes.xsd"/>
<!-- Types -->
<xsd:simpleType name="FirstName">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:simpleType name="LastName">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:simpleType name="OrganizationName">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:complexType name="RequestType">
<xsd:sequence>
<xsd:element name="credentials" type="Credential" minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="UserRole">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:simpleType name="UserStatus">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ACTIVE"/>
<xsd:enumeration value="DELETED"/>
<xsd:enumeration value="DISABLED"/>
<xsd:enumeration value="LOCKED"/>
</xsd:restriction>
</xsd:simpleType>
<!-- Elements -->
<xsd:element name="ValidatePasswordRequest" type="RequestType"/>
<xsd:element name="ValidatePasswordResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="responseCode" type="ResponseCode"/>
<xsd:element name="message" type="ResponseMessage"/>
<xsd:element name="credentials" type="Credential" minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="validCredentials" type="IsValidCredentials"/>
<xsd:element name="userStatus" type="UserStatus"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
-----------------------------
BaseType.xsd
-----------------------------
<?xml version='1.0' encoding='UTF-8' ?>
<xsd:schema
targetNamespace="http://strongauth.zionsbank.com/webservices/beans"
xmlns="http://strongauth.zionsbank.com/webservices/beans"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/XMLSchema">
<xsd:simpleType name="AppId">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:complexType name="Credential">
<xsd:sequence>
<xsd:element name="type" type="CredentialType"/>
<xsd:element name="value" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="CredentialType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ChallengeId"/>
<xsd:enumeration value="CustomerPassword"/>
<xsd:enumeration value="CustomerUserId"/>
<xsd:enumeration value="NewCustomerPassword"/>
<xsd:enumeration value="NewCustomerUserId"/>
<xsd:enumeration value="NewOrganizationId"/>
<xsd:enumeration value="NewOrganizationPassword"/>
<xsd:enumeration value="OrganizationId"/>
<xsd:enumeration value="OrganizationPassword"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="DomainId">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:simpleType name="IsValidCredentials">
<xsd:restriction base="xsd:boolean"/>
</xsd:simpleType>
<xsd:simpleType name="ResponseCode">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="SUCCESS"/>
<xsd:enumeration value="ERROR"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ResponseMessage">
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
</xsd:schema>
Matt Bailey
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
________________________________
From: Matthew Bailey
Sent: Wednesday, August 01, 2007 1:54 PM
To: [email protected]
Cc: Cary Schofield
Subject: java.lang.NumberFormatException
I've used WSDL2Java to generate a client and server using XMLBeana, when
the client calls the service I get the following error on the server
side:
Aug 1, 2007 1:36:03 PM org.apache.axis2.transport.http.AxisServlet
doPost
SEVERE: java.lang.NumberFormatException:
Aug 1, 2007 1:36:03 PM org.apache.axis2.transport.http.AxisServlet
doPost
INFO: org.apache.axis2.AxisFault: Connection aborted by peer
And on the client side I recieve a NullPointerException.
When I searched the web for a similar problem, I came across the
following which describes this situation very well.
http://marc.info/?l=axis-user&m=115965408111474&w=2
<http://marc.info/?l=axis-user&m=115965408111474&w=2>
The call I'm making to the service is very simple
<credentials xmlns="">
<type>CustomerUserId</type>
<value>user_id</value>
</credentials>
<credentials xmlns="">
<type>CustomerPassword</type>
<value>password</value>
</credentials>
But credentials type is a restriction based simple type, so I'm
wondering if this is a bug or if I'm doing something wrong.
My client code:
ImplServiceStub stub =
new ImplServiceStub
("http://host/axis2/services/ImplService");
ValidateRequestDocument reqDoc =
ValidateRequestDocument.Factory.newInstance();
RequestType requestType = reqDoc.addNewValidateRequest();
Credential credential_CUSTOMER_USER_ID =
requestType.addNewCredentials();
credential_CUSTOMER_USER_ID.setType(CredentialType.CUSTOMER_USER_ID);//t
his is an enum class within CredentialType
credential_CUSTOMER_USER_ID.setValue("user_id");
Credential credential_CUSTOMER_PASSWORD =
requestType.addNewCredentials();
credential_CUSTOMER_PASSWORD.setType(CredentialType.CUSTOMER_PASSWORD);/
/this is an enum class within CredentialType
credential_CUSTOMER_PASSWORD.setValue("password");
// Call the service
ValidateResponseDocument resDoc = stub.validate(reqDoc);
If any one has some pointers I'd apreciate it!
Thanks,
Matt Bailey
[EMAIL PROTECTED]