Details
-
Type:
Bug
-
Status:
In Progress
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 1.1
-
Fix Version/s: 1.2.7
-
Component/s: None
-
Labels:None
-
Environment:Windows XP Professional; version 2002; service pack2, Jvm 1.5, Dell Pentium 4; 1GB Ram
-
Number of attachments :
Description
1. Given this XML Schema:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"><xs:element name="persons">
<xs:complexType>
<xs:sequence>
<xs:element name="person" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="full_name" type="xs:string"/>
<xs:element name="child_name" type="xs:string"
minOccurs="0" maxOccurs="5"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element></xs:schema>
- I generated this Schema to java classes.. And I use the Persons class as my service's parameter. Please see attachements.
2. Snippet from my Client Code to call a Service Method.
Service serviceModel = new ObjectServiceFactory().create(SOAPport.class) ;
XFire xfire = XFireFactory.newInstance().getXFire();
XFireProxyFactory factory = new XFireProxyFactory(xfire);
String serviceUrl = "http://localhost:8080/xfire/services/Provisioning";
SOAPport client = (SOAPport) factory.create(serviceModel, serviceUrl);
try
3. When I call my Service I get this exception.
Exception in thread "main" org.codehaus.xfire.XFireRuntimeException: Could not invoke service.. Nested exception is org.codehaus.xfire.fault.XFireFault: No write method for property
{http://entity.dataprovisioningserver.getgamma.com}childName in class com.getgamma.dataprovisioningserver.entity.Persons$Person
org.codehaus.xfire.fault.XFireFault: No write method for property
childName in class com.getgamma.dataprovisioningserver.entity.Persons$Person
at org.codehaus.xfire.fault.Soap11FaultSerializer.readMessage(Soap11FaultSerializer.java:31)
at org.codehaus.xfire.fault.SoapFaultSerializer.readMessage(SoapFaultSerializer.java:28)
at org.codehaus.xfire.soap.handler.ReadHeadersHandler.checkForFault(ReadHeadersHandler.java:108)
at org.codehaus.xfire.soap.handler.ReadHeadersHandler.invoke(ReadHeadersHandler.java:67)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:98)
at org.codehaus.xfire.client.Client.onReceive(Client.java:450)
at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:182)
at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:67)
at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:98)
at org.codehaus.xfire.client.Client.invoke(Client.java:360)
at org.codehaus.xfire.client.XFireProxy.handleRequest(XFireProxy.java:77)
at org.codehaus.xfire.client.XFireProxy.invoke(XFireProxy.java:57)
at $Proxy10.addPersons(Unknown Source)
at test.sample.client.provisioning.aegis.CProvisioning.callService3(CProvisioning.java:148)
at test.sample.client.provisioning.aegis.CProvisioning.main(CProvisioning.java:185)
- I get this exception using the default binding, aegis. And if I change that to JaxB2 binding I do not get this exception but when I receive the object from the server, the datas I set from the client is gone! I get nulls on my fields.
- I checked and I think the problem lies on ArrayList. Whenever I take this out, I do not get an exception.
Have the same problem. Dan could you comment it.