Yeah...I have the object mapped on the wsdl. However, the value that I got from the client side is always null even though on the server side, the method returns a populated object.
-----Original Message----- From: Dan Diephouse [mailto:[EMAIL PROTECTED] Sent: Wednesday, March 15, 2006 7:21 AM To: [email protected] Subject: Re: [xfire-user] client not passing java.util.Map Hi Lana, Are you actually running into this issue? I can't reproduce it at all. But if both you and Ron are experiencing it, that drastically increases the likelihood of it being real. - Dan [EMAIL PROTECTED] wrote: > Hi Dan, > Any news on when the 1.1 Beta 1 will be released with bug 293 fixed? > This is related to mapping java.util.Map object > > Thanks > Lana > > -----Original Message----- > From: Dan Diephouse [mailto:[EMAIL PROTECTED] > Sent: Wednesday, March 08, 2006 6:45 PM > To: [email protected] > Subject: Re: [xfire-user] client not passing java.util.Map > > Hmmm looking at this again, the client does seem to be serializing it > right. It must be the server that isn't unserializing it correctly. Why, > > I have no idea. Very bizarre, I will try to write some tests for this > soon. > > - Dan > > Dan Diephouse wrote: > >> Seems you've found a bug. I've created an issue here and I will >> investigate it for our next release: >> >> http://jira.codehaus.org/browse/XFIRE-293 >> >> - Dan >> >> Ron Anderson wrote: >> >>> I'll attach the messages in txt file as something seemed to clobber >>> the xml tags. >>> >>> Ron >>> >>> ----- Original Message ---- >>> From: Dan Diephouse <[EMAIL PROTECTED]> >>> To: [email protected] >>> Sent: Wednesday, March 8, 2006 1:23:51 PM >>> Subject: Re: [xfire-user] client not passing java.util.Map >>> >>> It seems these messages didn't come through correctly. Can you try >>> pasting them again? >>> >>> Ron Anderson wrote: >>> >>>> Dan, >>>> >>>> Very sorry about the duplicate messages. >>>> >>>> Seems from the tcpmon that the map is getting sent, here are the >>>> request and response. >>>> >>>> POST /apiapp/services/ServiceOrderService HTTP/1.1 >>>> SOAPAction: "" >>>> Content-Type: text/xml; charset=UTF-8 >>>> User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; >>>> > XFire > >>>> Client +http://xfire.codehaus.org) >>>> Host: 127.0.0.1:6062 >>>> Expect: 100-continue >>>> Content-Length: 1791 >>>> >>>> 1'>http://model.api.com">1new'>http://model.api.com">new >>>> >>> <http://model.api.com%22%3E1new> voip >>> > orderfalse'>http://model.api.com">false2006-03-08T00:00:00-08:00'>http:/ > /model.api.com">2006-03-08T00:00:00-08:00passwordpasswordabcduseruserJoh > n > >>> <http://model.api.com%22%3Efalse2006-03-08T00:00:00-08:00> >>> > Smithhosthostdynamicsubscribersubscriber20155512125'>http://model.api.co > m">51001'>http://model.api.com">10012006-03-08T00:00:00-08:00'>http://mo > del.api.com">2006-03-08T00:00:00-08:00VOIP'>http://model.api.com">VOIPop > en.running.pending_processing'>http://model.api.com">open.running.pendin > g_processing2015551212'>http://model.api.com">2015551212createOrder'>htt > p://model.api.com">createOrder > >>> <http://model.api.com%22%3E51001> >>> >>>> HTTP/1.1 100 Continue >>>> >>>> HTTP/1.1 200 OK >>>> Set-Cookie: JSESSIONID=95DD4E6E7FBD6A5C72A7761CDCE6529F; >>>> > Path=/apiapp > >>>> Content-Type: text/xml;charset=UTF-8 >>>> Transfer-Encoding: chunked >>>> Date: Wed, 08 Mar 2006 16:53:25 GMT >>>> Server: Apache-Coyote/1.1 >>>> >>>> 157 >>>> 29 >>>> 0 >>>> >>>> Thanks, >>>> >>>> Ron >>>> >>>> ----- Original Message ---- >>>> From: Dan Diephouse <[EMAIL PROTECTED]> >>>> To: [email protected] >>>> Sent: Wednesday, March 8, 2006 8:14:35 AM >>>> Subject: Re: [xfire-user] client not passing java.util.Map >>>> >>>> Ron, this is the third time you have sent this message. Please >>>> >>> don't do >>> >>>> so again. >>>> >>>> I haven't been able to deduce what is going on, it may be a bug. >>>> > The > >>>> client accesses aegis mapping files via the classpath, so make sure >>>> they're copied onto it. >>>> >>>> You might want to try looking at the request/response in TCPMon and >>>> > > >>> see >>> >>>> if you can figure out whats going on - https://tcpmon.dev.java.net/ >>>> >>>> - Dan >>>> >>>> Ron Anderson wrote: >>>> >>>>> Hi Dan, >>>>> >>>>> Sorry if this is a duplicate but I seem to be having mailing list >>>>> >>>> issues. >>>> >>>>> I've exposed my soap service and its working with the exception >>>>> > that > >>>>> my java.util.Map (OrderItems) >>>>> property doesn't get serialized and sent (or maybe unserialized >>>>> >>> on the >>> >>>>> receive side). >>>>> All the other properties of ServiceOrder (except map) are passed >>>>> > and > >>>>> the long key is >>>>> returned all with no problem. >>>>> >>>>> I'm not getting any errors on either client or server side. I've >>>>> > > >>> set >>> >>>>> debug statements that show the map populated on >>>>> the client service method call but what gets received and >>>>> >>> persisted is >>> >>>>> empty. >>>>> >>>>> Would greatly appreciate your help/advise in case I've got >>>>> > something > >>>>> set up wrong here. Its not clear how >>>>> the client gets access to the aegis mapping files to figure out >>>>> > the > >>>>> Map mapping. >>>>> > > Thanks, >>>>> Ron >>>>> > > Here is the client code I'm using to send. The receive side >>>>> > > >>> is Spring >>> >>>>> Remote with Aegis mapping files. >>>>> > > public String sendSoapOrderRequest() throws >>>>> >>> MalformedURLException { >>> >>>>> > > Service serviceModel = new >>>>> ObjectServiceFactory().create(OrderManager.class); >>>>> > > > > OrderManager service = (OrderManager) >>>>> new XFireProxyFactory().create(serviceModel, endpoint); >>>>> >>>>> log.debug("This serviceOrder is: " + serviceOrder); >>>>> Long key = (Long) >>>>> > service.saveServiceOrder(serviceOrder); > >>>>> > > log.debug("soap message sent... received >>>>> >>> orderKey: " + key); >>> >>>>> if (key != null) { >>>>> return "start"; >>>>> } else >>>>> return "list"; >>>>> } >>>>> > > Excerpts from my wsdl: >>>>> >>>>> >>>>> xmlns:ns6="http://io.java" <http://io.java%22>; >>>>> >>> <http://io.java%22>;; >>> >>>> xmlns:ns7="http://model.api.com" <http://model.api.com%22>; >>>> >>> <http://model.api.com%22>;; > > xmlns:ns8="http://dao.api.com" >>> <http://dao.api.com%22>; <http://dao.api.com%22>;; >>> >>>>> xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/" >>>>> >>> <http://schemas.xmlsoap.org/soap/envelope/%22>; >>> >>>> <http://schemas.xmlsoap.org/soap/envelope/%22>;; >>>> >>>>> xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" >>>>> >>> <http://www.w3.org/2003/05/soap-envelope%22>; >>> >>>> <http://www.w3.org/2003/05/soap-envelope%22>;; >>>> >>>>> xmlns:soapenc11="http://schemas.xmlsoap.org/soap/encoding/" >>>>> >>> <http://schemas.xmlsoap.org/soap/encoding/%22>; >>> >>>> <http://schemas.xmlsoap.org/soap/encoding/%22>;; >>>> >>>>> xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" >>>>> >>> <http://www.w3.org/2003/05/soap-encoding%22>; >>> >>>> <http://www.w3.org/2003/05/soap-encoding%22>;; >>>> >>>>> xmlns:tns="http://service.api.com" <http://service.api.com%22>; >>>>> >>> <http://service.api.com%22>;; >>> >>>>> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" >>>>> >>> <http://schemas.xmlsoap.org/wsdl/soap/%22>; >>> >>>> <http://schemas.xmlsoap.org/wsdl/soap/%22>;; >>>> >>>>> xmlns:xsd="http://www.w3.org/2001/XMLSchema" >>>>> >>> <http://www.w3.org/2001/XMLSchema%22>; >>> >>>> <http://www.w3.org/2001/XMLSchema%22>;; >>>> >>>>> targetNamespace="http://service.api.com" >>>>> >>> <http://service.api.com%22>; <http://service.api.com%22>;;> >>> >>>>> > > <xsd:complexType name="string2OrderItemMap"> >>>>> <xsd:sequence> >>>>> <xsd:element name="entry" minOccurs="0" >>>>> maxOccurs="unbounded"> >>>>> <xsd:complexType> >>>>> <xsd:sequence> >>>>> <xsd:element name="key" type="xsd:string" >>>>> minOccurs="0" maxOccurs="1" /> >>>>> <xsd:element name="value" type="ns7:OrderItem" > >>>>> >>>> minOccurs="0" maxOccurs="1" /> >>>> >>>>> </xsd:sequence> >>>>> </xsd:complexType> >>>>> </xsd:element> >>>>> </xsd:sequence> >>>>> </xsd:complexType> >>>>> > > <xsd:element name="saveServiceOrder"> >>>>> <xsd:complexType> >>>>> <xsd:sequence> >>>>> <xsd:element name="in0" type="ns7:ServiceOrder" >>>>> nillable="true" minOccurs="1" maxOccurs="1" /> >>>>> </xsd:sequence> >>>>> </xsd:complexType> >>>>> </xsd:element> >>>>> >>>>> <xsd:element name="saveServiceOrderResponse"> >>>>> <xsd:complexType> >>>>> <xsd:sequence> >>>>> <xsd:element name="out" type="xsd:long" >>>>> >>> nillable="true" > > minOccurs="1" maxOccurs="1" >>> >>>>> /> >>>>> </xsd:sequence> >>>>> </xsd:complexType> >>>>> </xsd:element> >>>>> > > >>>>> <xsd:complexType name="ServiceOrder"> >>>>> <xsd:sequence> >>>>> <xsd:element name="actual_completion_date" >>>>> type="xsd:dateTime" minOccurs="0" /> >>>>> <xsd:element name="orderDate" type="xsd:dateTime" > > >>>>> >>> minOccurs="0" /> >>> >>>>> <xsd:element name="orderItems" >>>>> type="tns:string2OrderItemMap" minOccurs="0" /> >>>>> <xsd:element name="orderKey" type="xsd:long" >>>>> >>> minOccurs="0" >>> >>>>> nillable="true" /> >>>>> <xsd:element name="priority" type="xsd:string" > > >>>>> >>> minOccurs="0" nillable="true" /> >>> >>>>> <xsd:element name="purchaseOrder" type="xsd:string" > >>>>> >>>> minOccurs="0" nillable="true" /> >>>> >>>>> <xsd:element >>>>> name="requested_completion_date" type="xsd:dateTime" >>>>> >>> minOccurs="0" /> >>> >>>>> <xsd:element name="serviceType" type="xsd:string" > > >>>>> >>> minOccurs="0" nillable="true" /> >>> >>>>> <xsd:element name="state" type="xsd:string" >>>>> > minOccurs="0" > >>>>> nillable="true" /> >>>>> <xsd:element name="subscriberID" type="xsd:string" > > >>>>> > > >>> minOccurs="0" nillable="true" /> >>> >>>>> <xsd:element name="type" type="xsd:string" >>>>> >>> minOccurs="0" > > nillable="true" /> >>> >>>>> </xsd:sequence> >>>>> </xsd:complexType> >>>>> >>>>> <xsd:complexType name="OrderItem"> >>>>> <xsd:sequence> >>>>> <xsd:element name="orderItemKey" type="xsd:string" > > >>>>> >>> minOccurs="0" nillable="true" /> >>> >>>>> <xsd:element name="orderItemValue" type="xsd:string" > > >>>>> >>> minOccurs="0" nillable="true" /> >>> >>>>> </xsd:sequence> >>>>> </xsd:complexType> >>>>> >>>>> <xsd:complexType name="ArrayOfServiceOrder"> >>>>> <xsd:sequence> >>>>> > > <xsd:element name="ServiceOrder" type="ns7:ServiceOrder" >>>>> > > >>>>> nillable="true" minOccurs="0" maxOccurs="unbounded" /> >>>>> </xsd:sequence> >>>>> </xsd:complexType> >>>>> </xsd:schema> >>>>> >>>>> <wsdl:service name="OrderManager"> >>>>> <wsdl:port binding="tns:OrderManagerHttpBinding" >>>>> name="OrderManagerHttpPort"> >>>>> > > </wsdl:port> >>>>> </wsdl:service> >>>>> >>>> -- >>>> Dan Diephouse >>>> Envoi Solutions LLC >>>> http://envoisolutions.com >>>> http://netzooid.com/blog >>>> >>>> >>> -- >>> Dan Diephouse >>> Envoi Solutions LLC >>> http://envoisolutions.com >>> http://netzooid.com/blog >>> >>> >>> > ------------------------------------------------------------------------ > >>> POST /apiapp/services/ServiceOrderService HTTP/1.1 >>> SOAPAction: "" >>> Content-Type: text/xml; charset=UTF-8 >>> User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; XFire >>> Client +http://xfire.codehaus.org) >>> Host: 127.0.0.1:6062 >>> Expect: 100-continue >>> Content-Length: 1791 >>> >>> <?xml version='1.0' encoding='UTF-8'?><soap:Envelope >>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" >>> xmlns:xsd="http://www.w3.org/2001/XMLSchema" >>> >>> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><saveSe > rviceOrder > >>> xmlns="http://service.api.com"><in0><api_client_ID >>> xmlns="http://model.api.com">1</api_client_ID><contraintOrder >>> xmlns="http://model.api.com" xsi:nil="true"/><description >>> xmlns="http://model.api.com">new voip order</description><failed >>> xmlns="http://model.api.com">false</failed><failedException >>> xmlns="http://model.api.com" xsi:nil="true"/><orderDate >>> >>> > xmlns="http://model.api.com">2006-03-08T00:00:00-08:00</orderDate><order > Items > > xmlns="http://model.api.com"><entry><key>password</key><value><orderItem > Key>password</orderItemKey><orderItemValue>abcd</orderItemValue></value> > </entry><entry><key>user</key><value><orderItemKey>user</orderItemKey><o > rderItemValue>John > > Smith</orderItemValue></value></entry><entry><key>host</key><value><orde > rItemKey>host</orderItemKey><orderItemValue>dynamic</orderItemValue></va > lue></entry><entry><key>subscriber</key><value><orderItemKey>subscriber< > /orderItemKey><orderItemValue>2015551212</orderItemValue></value></entry > >> </orderItems><orderKey >> >>> xmlns="http://model.api.com" xsi:nil="true"/><priority >>> xmlns="http://model.api.com">5</priority><purchaseOrder >>> >>> > xmlns="http://model.api.com">1001</purchaseOrder><requested_completion_d > ate > > xmlns="http://model.api.com">2006-03-08T00:00:00-08:00</requested_comple > tion_date><serviceType > >>> xmlns="http://model.api.com">VOIP</serviceType><state >>> >>> > xmlns="http://model.api.com">open.running.pending_processing</state><sub > scriberID > >>> xmlns="http://model.api.com">2015551212</subscriberID><type >>> >>> > xmlns="http://model.api.com">createOrder</type></in0></saveServiceOrder> > </soap:Body></soap:Envelope> > >>> >>> >>> HTTP/1.1 100 Continue >>> >>> HTTP/1.1 200 OK >>> Set-Cookie: JSESSIONID=95DD4E6E7FBD6A5C72A7761CDCE6529F; Path=/apiapp >>> Content-Type: text/xml;charset=UTF-8 >>> Transfer-Encoding: chunked >>> Date: Wed, 08 Mar 2006 16:53:25 GMT >>> Server: Apache-Coyote/1.1 >>> >>> 157 >>> <?xml version='1.0' encoding='UTF-8'?><soap:Envelope >>> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" >>> xmlns:xsd="http://www.w3.org/2001/XMLSchema" >>> >>> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soap:Body><saveSe > rviceOrderResponse > > xmlns="http://service.api.com"><out>29</out></saveServiceOrderResponse>< > /soap:Body></soap:Envelope> > >>> 0 >>> >> > > > -- Dan Diephouse Envoi Solutions http://envoisolutions.com http://netzooid.com/blog This message is for the designated recipient only and may contain privileged, proprietary, or otherwise private information. If you have received it in error, please notify the sender immediately and delete the original. Any other use of the email by you is prohibited.
