Re: Handmade WSDL?
Ah -- I see. This DataSet is coming from a .NET service (probably generated by ADO.NET), and then stuffed into the SOAP message as a string. Unfortunately, because the string starts with the ?xml declaration, you won't be able to get Axis to process it for you. You are going to have to extract the string and then process it using SAX or DOM. You need to go abuse the card processing folks. This is what's known as a worst practice. Anne
Re: Handmade WSDL?
Thank you so very much. I suspected something like this, especially after investigating a well-formed SOAP service (from Melissa Data) and working through the client code generated by WSDL2Java for it. I'm pretty new to all of this so I have to keep looking up everything. And it seems that everything I'm learning involves twelve other things to learn as well. ;) Gotta love it . . . Elaine Anne Thomas Manes wrote: Ah -- I see. This DataSet is coming from a .NET service (probably generated by ADO.NET), and then stuffed into the SOAP message as a string. Unfortunately, because the string starts with the ?xml declaration, you won't be able to get Axis to process it for you. You are going to have to extract the string and then process it using SAX or DOM. You need to go abuse the card processing folks. This is what's known as a worst practice. Anne ~~ | Computers are useless. They can only give you answers. | -- Pablo Picasso -- ~~
Re: Handmade WSDL?
Hi Anne, Could you provide an example how to extract that? Thanks, A --- Anne Thomas Manes [EMAIL PROTECTED] wrote: Ah -- I see. This DataSet is coming from a .NET service (probably generated by ADO.NET), and then stuffed into the SOAP message as a string. Unfortunately, because the string starts with the ?xml declaration, you won't be able to get Axis to process it for you. You are going to have to extract the string and then process it using SAX or DOM. You need to go abuse the card processing folks. This is what's known as a worst practice. Anne __ Do you Yahoo!? Yahoo! Mail - You care about security. So do we. http://promotions.yahoo.com/new_mail
RE: Handmade WSDL?
Don't waste the effort! Instead, fix it at the source. . . -Original Message- From: Airline Pedestal [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 01, 2005 6:29 PM To: axis-user@ws.apache.org; Anne Thomas Manes Subject: Re: Handmade WSDL? Hi Anne, Could you provide an example how to extract that? Thanks, A --- Anne Thomas Manes [EMAIL PROTECTED] wrote: Ah -- I see. This DataSet is coming from a .NET service (probably generated by ADO.NET), and then stuffed into the SOAP message as a string. Unfortunately, because the string starts with the ?xml declaration, you won't be able to get Axis to process it for you. You are going to have to extract the string and then process it using SAX or DOM. You need to go abuse the card processing folks. This is what's known as a worst practice. Anne __ Do you Yahoo!? Yahoo! Mail - You care about security. So do we. http://promotions.yahoo.com/new_mail
RE: Handmade WSDL?
Not stupid... Your approach is reasonable, but... Can you not contact the card processing service people and ask them to resolve the difference between the doc and the WSDL ? -Original Message- From: Elaine Nance [mailto:[EMAIL PROTECTED] Sent: Monday, February 28, 2005 3:45 PM To: axis-user@ws.apache.org Subject: Handmade WSDL? Hope this is not stupid, but Problem: the wsdl for our (supposedly) enterprise credit card processing service shows well defined request parameters, but the SOAP responses are all designated as string, as shown below. I am thinking that the best way to generate the client stubs I need in Java is to create a wsdl with better response typing and generate the stubs using WSDL2Java and then test. Does it make sense to proceed like the above? or should I just build parsers using SAX or DOM or whatever? Thank you, Elaine - example request s:element name=GetAVSResponseCodeValue s:complexType s:sequence s:element minOccurs=0 maxOccurs=1 name=sCode type=s:string / /s:sequence /s:complexType /s:element - example response as given s:element name=GetAVSResponseCodeValueResponse s:complexType s:sequence s:element minOccurs=0 maxOccurs=1 name=GetAVSResponseCodeValueResult type=s:string / /s:sequence /s:complexType /s:element - WHAT THE RESPONSE SHOULD LOOK LIKE (I THINK) s:element name=GetAVSResponseCodeValueResponse s:complexType type=s:AVSRespCode s:sequence s:element minOccurs=1 maxOccurs=1 name=AVSCode type=s:string/ s:element minOccurs=1 maxOccurs=1 name=AVSMessage type=s:string/ s:element minOccurs=1 maxOccurs=1 name=ID type=s:string/ s:element minOccurs=1 maxOccurs=1 name=Status type=s:string/ /s:sequence /s:complexType /s:element - ALTERNATIVELY s:element name=GetAVSResponseCodeValueResponse s:complexType type=s:NewDataSet s:sequence type=s:AVSRespCode s:element minOccurs=1 maxOccurs=1 name=AVSCode type=s:string/ s:element minOccurs=1 maxOccurs=1 name=AVSMessage type=s:string/ s:element minOccurs=1 maxOccurs=1 name=ID type=s:string/ s:element minOccurs=1 maxOccurs=1 name=Status type=s:string/ /s:sequence /s:complexType /s:element - the web service docs indicate that the xml returned (minus SOAP envelope) will look like the following: NewDataSet AVSRespCode AVSCode1/AVSCode AVSMessageNo Address Supplied/AVSMessage ID1/ID StatusE/Status /AVSRespCode /NewDataSet ~~ | Computers are useless. They can only give you answers. | -- Pablo Picasso -- ~~
Re: Handmade WSDL?
Well, I can contact the project manager and ask, but that would be effective only if I rewrite the WSDL first and include samples. The project manager is not a programmer. ITMT, which form of the changed WSDL below will be best? The responses which return xml documents (as strings) all seem to use the root element of NewDataSet /, which I think violates the WSDL specification for uniqueness. [?] I am currently reading the WSDL 1.1 W3C Note dated 15 March 2001, but the published wsdl doesn't seem to quite match with that, and this doc is definitely *not* WSDL 2.0 compliant. Really appreciate the input. :) I want to do this as well as possible. Thanks again, Elaine Dino Chiesa wrote: Not stupid... Your approach is reasonable, but... Can you not contact the card processing service people and ask them to resolve the difference between the doc and the WSDL ? -Original Message- From: Elaine Nance [mailto:[EMAIL PROTECTED] Sent: Monday, February 28, 2005 3:45 PM To: axis-user@ws.apache.org Subject: Handmade WSDL? Hope this is not stupid, but Problem: the wsdl for our (supposedly) enterprise credit card processing service shows well defined request parameters, but the SOAP responses are all designated as string, as shown below. I am thinking that the best way to generate the client stubs I need in Java is to create a wsdl with better response typing and generate the stubs using WSDL2Java and then test. Does it make sense to proceed like the above? or should I just build parsers using SAX or DOM or whatever? Thank you, Elaine - example request s:element name=GetAVSResponseCodeValue s:complexType s:sequence s:element minOccurs=0 maxOccurs=1 name=sCode type=s:string / /s:sequence /s:complexType /s:element - example response as given s:element name=GetAVSResponseCodeValueResponse s:complexType s:sequence s:element minOccurs=0 maxOccurs=1 name=GetAVSResponseCodeValueResult type=s:string / /s:sequence /s:complexType /s:element - WHAT THE RESPONSE SHOULD LOOK LIKE (I THINK) s:element name=GetAVSResponseCodeValueResponse s:complexType type=s:AVSRespCode s:sequence s:element minOccurs=1 maxOccurs=1 name=AVSCode type=s:string/ s:element minOccurs=1 maxOccurs=1 name=AVSMessage type=s:string/ s:element minOccurs=1 maxOccurs=1 name=ID type=s:string/ s:element minOccurs=1 maxOccurs=1 name=Status type=s:string/ /s:sequence /s:complexType /s:element - ALTERNATIVELY s:element name=GetAVSResponseCodeValueResponse s:complexType type=s:NewDataSet s:sequence type=s:AVSRespCode s:element minOccurs=1 maxOccurs=1 name=AVSCode type=s:string/ s:element minOccurs=1 maxOccurs=1 name=AVSMessage type=s:string/ s:element minOccurs=1 maxOccurs=1 name=ID type=s:string/ s:element minOccurs=1 maxOccurs=1 name=Status type=s:string/ /s:sequence /s:complexType /s:element - the web service docs indicate that the xml returned (minus SOAP envelope) will look like the following: NewDataSet AVSRespCode AVSCode1/AVSCode AVSMessageNo Address Supplied/AVSMessage ID1/ID StatusE/Status /AVSRespCode /NewDataSet ~~ | Computers are useless. They can only give you answers. | -- Pablo Picasso -- ~~