axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <sietsenicolaas.tenho...@bt.com>
Subject RE: Urgent
Date Wed, 21 Nov 2007 13:16:31 GMT
Hi Mohamed,

In my opinion the wsdl definition is not really a definition. It
specifies that it will receive a string. But it doesn't specify the
meaning of it (i.e. xml, xml encoded as string). Therefore your wsdl is
loosely defined and this gives freedom to the implementer to interpret
it the way he wants. This results in unexpected behaviour.

My advice is to adjust the wsdl and make a strict definition of the
messages. This enforces the client to use the well specified description
and gives less possibility for an own interpretation.

Just my 2 cents.

Regards,
Sietse

________________________________

From: M.Khaled [mailto:mohamed_mohamed_186@yahoo.com] 
Sent: 21 November 2007 12:52
To: axis-user@ws.apache.org
Subject: Re: Urgent


Paul
 
You think the server should decode the received string before parsing
it, to reconvert the special charcters like '&lt; and &gt; to '<' and
'>'    ?
 
 
Mohamed

Paul Fremantle <pzfreo@gmail.com> wrote:

	Mohamed
	
	Now I'm confused. The WSDL defines a string. That says that the
server is expecting a string. So if that string is going to an XML, then
it *should* be encoded, because the datatype of the element is string
not xml. 
	
	If the server was expecting un-encoded XML then the WSDL should
say:
	
	<sequence>
	<element name="lead" type="xsd:anyType"/>
	</sequence>
	
	The client is doing the right thing (at least as far as the WSDL
says) in encoding the XML with &lt; etc. 
	
	Paul
	
	
	On Nov 21, 2007 11:27 AM, M.Khaled
<mohamed_mohamed_186@yahoo.com> wrote:
	

		Hi Paul,
		 
		-This mail contains attached WSDL file which I used to
create the client by axis.
		-And About the way I am creating the XML that I am
sending it's similar to the foolowing: 
		 
		class Main{
		String xml="<myElement><A><B>text</B></A></myElement>";
		Request req=new Request();
		req.setAttr(xml); 
		Sender sender=new Sender();
		sender.send(req);
		}
		
		class Request{
		String attr=null;
		getAttr(){
		return attr;
		}
		setAttr(String s){ 
		attr=s;
		}
		 
		class Sender{
		public Response send(Request req) {
		Response res=(Response) call.invoke(req);
		return res;
		}
		}
		
		Paul Fremantle <pzfreo@gmail.com> wrote: 

			Mohamed
			
			The server is expecting it in XML form not
string form.
			
			Can you please post the WSDL. Also please
explain how you are creating the XML that you are sending. 
			
			Paul
			
			
			On Nov 21, 2007 10:41 AM, M.Khaled
<mohamed_mohamed_186@yahoo.com> wrote:
			

				First of all Thanks a lot for your quick
response.Second I just want to tell you how the scenario going in here:
				(1)I am just working in the client side
(meaning I just created the client by axis WSDL2JAVA command by passing
the WSDL file to it). 
				 
				(2)And I have to set ant attribute value
which is of type String to  a specific object and this value is xml
elements but in a string representation.
				 
				(3)This specific object will be passed
to the invoke method of the Call object.  
				 
				(4)In the server side (which is out of
my work scope, I am just using the URL for it and know nothing else
about it) it is expecting that this value I passed is xml in a string
representation. 
				 
				(5)So I tried your solution for base 64
encoding but the output was something like this:
	
<myEement>HJvc3BlY3Q+ICBpZClJzs</myEemen> 
				and the server can't parse this form
cause it is expecting that form:
				<myEement><A><B>text</B></A></myEement>
				 
				(6)And axis is generating this output: 
				<myEement>&lt;A&gt; &lt;B&gt; text
&lt;/B&gt; &lt;/A&gt; </myEement>
				and the server can't parse this form.
				 
				That's the point I am still sticking in.

				If you have any other solution please
advice. 
				 
				Thanks,
				Mohamed. 

				"Hoda, Nadeem [USA]" <
hoda_nadeem@bah.com <mailto:hoda_nadeem@bah.com> > wrote: 

					 
					If it is something very urgent,
the easiest way is to base 64 encode the XML and pass the encoded string
which is guaranteed to have no special characters. 
					 
					For example (server-side): 

					 
					import
org.apache.xerces.impl.dv.util.Base64;
					 
					...
					 //send this string 
					 String encodedXML =
Base64.encode(rawXMLString);
					...

					 
					Otherwise you can use
attachments, but that is not an "urgent" scenario solution. 
					 
					Thanks, 
					 
					Nadeem 
					 
________________________________

					From: M.Khaled [mailto:
mohamed_mohamed_186@yahoo.com <mailto:mohamed_mohamed_186@yahoo.com> ] 
					Sent: Wednesday, November 21,
2007 1:41 PM
					To: axis-user@ws.apache.org
					Subject: Urgent 
					
					
					Hi,
					 
					I sent a question to the mailing
list and got no answer till now.Could anyone help me?
					My question was about how to
send xml as a string by axis client avoiding special character problem.
					 
					Thanks,
					Mohamed.
________________________________

					Be a better sports nut! Let your
teams follow you with Yahoo Mobile. Try it now.
<http://us.rd.yahoo.com/evt=51731/*http://mobile.yahoo.com/sports;_ylt=A
t9_qDKvtAbMuh1G1SQtBI7ntAcJ>  


________________________________

				Never miss a thing. Make Yahoo your
homepage. <http://us.rd.yahoo.com/evt=51438/*http://www.yahoo.com/r/hs>





			-- 
			Paul Fremantle
			Co-Founder and VP of Technical Sales, WSO2
			OASIS WS-RX TC Co-chair
			
			blog: http://pzf.fremantle.org
<http://pzf.fremantle.org/> 
			paul@wso2.com
			
			"Oxygenating the Web Service Platform",
www.wso2.com <http://www.wso2.com/>  


________________________________

		Be a better sports nut! Let your teams follow you with
Yahoo Mobile. Try it now.
<http://us.rd.yahoo.com/evt=51731/*http://mobile.yahoo.com/sports;_ylt=A
t9_qDKvtAbMuh1G1SQtBI7ntAcJ%0A> 

	
--------------------------------------------------------------------- 
		To unsubscribe, e-mail:
axis-user-unsubscribe@ws.apache.org
		For additional commands, e-mail:
axis-user-help@ws.apache.org <mailto:axis-user-help@ws.apache.org> 
		




	-- 
	Paul Fremantle
	Co-Founder and VP of Technical Sales, WSO2
	OASIS WS-RX TC Co-chair
	
	blog: http://pzf.fremantle.org <http://pzf.fremantle.org/>  
	paul@wso2.com
	
	"Oxygenating the Web Service Platform", www.wso2.com
<http://www.wso2.com/>  


________________________________

Get easy, one-click access to your favorites. Make Yahoo! your homepage.
<http://us.rd.yahoo.com/evt=51443/*http://www.yahoo.com/r/hs>  

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org


Mime
View raw message