You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Javier Kohen (JIRA)" <ax...@ws.apache.org> on 2005/08/23 10:09:09 UTC

[jira] Created: (AXIS-2188) No Deserializer found to deserialize xsd:string

No Deserializer found to deserialize xsd:string
-----------------------------------------------

         Key: AXIS-2188
         URL: http://issues.apache.org/jira/browse/AXIS-2188
     Project: Apache Axis
        Type: Bug
  Components: Serialization/Deserialization, WSDL processing  
    Versions: 1.2, 1.2.1    
    Reporter: Javier Kohen


Since I updated from Axis 1.1 to 1.2(.1), I cannot access the service at http://www.xmethods.net/sd/2001/EBayWatcherService.wsdl anymore. The following explanation is given:
No Deserializer found to deserialize a 'http://schemas.xmlsoap.org/soap/encoding/:string' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.

My code is:
		URL srvUrl =
			new URL("http://www.xmethods.net/sd/2001/EBayWatcherService.wsdl");
		String namespace = "http://www.xmethods.net/sd/eBayWatcherService.wsdl";
		String opNamespace = "urn:xmethods-EbayWatcher";

		ServiceFactory serviceFactory = ServiceFactory.newInstance();
		Service service
			= serviceFactory.createService(
				srvUrl,
				new QName(namespace, "eBayWatcherService"));
		Call call = service.createCall(new QName(namespace, "eBayWatcherPort"));

		call.setOperationName(new QName(opNamespace, "getCurrentPrice"));

		Float price = (Float) call.invoke(
			new Object[] { auction_id });

I found a couple other users reporting the similar problem on the web, but there aren't more than 5-10 matches on google.com.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS-2188) No Deserializer found to deserialize xsd:string

Posted by "Hamish Taylor (JIRA)" <ax...@ws.apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS-2188?page=comments#action_12357225 ] 

Hamish Taylor commented on AXIS-2188:
-------------------------------------

You could work around this problem by registering your own type mappings for the string type
so that the SOAP request used the namespace "http://www.w3.org/2001/XMLSchema" instead
of  "http://schemas.xmlsoap.org/soap/encoding" for the strings you are passing as arguments
in your SOAP RPC call. I had this problem with Axis 1.3 when talking to Google's SOAP service
at "http://api.google.com/search/beta2". It was fixed by adding the following code

Class ss = SimpleSerializerFactory.class;
Class ds = SimpleDeserializerFactory.class;
call.registerTypeMapping(java.lang.String.class, new QName("http://www.w3.org/2001/XMLSchema", "string"), ss, ds);

after

Call call = (Call) service.createCall();

I also had to do the same thing for Integers and Booleans that were arguments for this Google SOAP service.

> No Deserializer found to deserialize xsd:string
> -----------------------------------------------
>
>          Key: AXIS-2188
>          URL: http://issues.apache.org/jira/browse/AXIS-2188
>      Project: Apache Axis
>         Type: Bug
>   Components: Serialization/Deserialization, WSDL processing
>     Versions: 1.2, 1.2.1
>     Reporter: Javier Kohen

>
> Since I updated from Axis 1.1 to 1.2(.1), I cannot access the service at http://www.xmethods.net/sd/2001/EBayWatcherService.wsdl anymore. The following explanation is given:
> No Deserializer found to deserialize a 'http://schemas.xmlsoap.org/soap/encoding/:string' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.
> My code is:
> 		URL srvUrl =
> 			new URL("http://www.xmethods.net/sd/2001/EBayWatcherService.wsdl");
> 		String namespace = "http://www.xmethods.net/sd/eBayWatcherService.wsdl";
> 		String opNamespace = "urn:xmethods-EbayWatcher";
> 		ServiceFactory serviceFactory = ServiceFactory.newInstance();
> 		Service service
> 			= serviceFactory.createService(
> 				srvUrl,
> 				new QName(namespace, "eBayWatcherService"));
> 		Call call = service.createCall(new QName(namespace, "eBayWatcherPort"));
> 		call.setOperationName(new QName(opNamespace, "getCurrentPrice"));
> 		Float price = (Float) call.invoke(
> 			new Object[] { auction_id });
> I found a couple other users reporting the similar problem on the web, but there aren't more than 5-10 matches on google.com.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS-2188) No Deserializer found to deserialize xsd:string

Posted by "Javier Kohen (JIRA)" <ax...@ws.apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS-2188?page=comments#action_12320532 ] 

Javier Kohen commented on AXIS-2188:
------------------------------------

That is the full client code, as far as Axis and web services are concerned. You can wrap it in a main method and it should work. An auction_id (AKA item ID) can be retrieved from every eBay auction by just looking at the top right corner of the item's page (no sense in posting one here because once the auction is closed the ID becomes immediately invalid).

Since I opened this report I moved onto using eBay's official web service API, which despite being much more complex, it can be handled pretty well by Axis (although it doesn't use dynamic proxies like the program above).

> No Deserializer found to deserialize xsd:string
> -----------------------------------------------
>
>          Key: AXIS-2188
>          URL: http://issues.apache.org/jira/browse/AXIS-2188
>      Project: Apache Axis
>         Type: Bug
>   Components: Serialization/Deserialization, WSDL processing
>     Versions: 1.2, 1.2.1
>     Reporter: Javier Kohen

>
> Since I updated from Axis 1.1 to 1.2(.1), I cannot access the service at http://www.xmethods.net/sd/2001/EBayWatcherService.wsdl anymore. The following explanation is given:
> No Deserializer found to deserialize a 'http://schemas.xmlsoap.org/soap/encoding/:string' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.
> My code is:
> 		URL srvUrl =
> 			new URL("http://www.xmethods.net/sd/2001/EBayWatcherService.wsdl");
> 		String namespace = "http://www.xmethods.net/sd/eBayWatcherService.wsdl";
> 		String opNamespace = "urn:xmethods-EbayWatcher";
> 		ServiceFactory serviceFactory = ServiceFactory.newInstance();
> 		Service service
> 			= serviceFactory.createService(
> 				srvUrl,
> 				new QName(namespace, "eBayWatcherService"));
> 		Call call = service.createCall(new QName(namespace, "eBayWatcherPort"));
> 		call.setOperationName(new QName(opNamespace, "getCurrentPrice"));
> 		Float price = (Float) call.invoke(
> 			new Object[] { auction_id });
> I found a couple other users reporting the similar problem on the web, but there aren't more than 5-10 matches on google.com.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS-2188) No Deserializer found to deserialize xsd:string

Posted by "Venkat Reddy (JIRA)" <ax...@ws.apache.org>.
    [ http://issues.apache.org/jira/browse/AXIS-2188?page=comments#action_12320531 ] 

Venkat Reddy commented on AXIS-2188:
------------------------------------

I haven't experienced this problem using the JUnit test case generated by WSDL2Java. May be, posting your full client code might help.

- venkat


> No Deserializer found to deserialize xsd:string
> -----------------------------------------------
>
>          Key: AXIS-2188
>          URL: http://issues.apache.org/jira/browse/AXIS-2188
>      Project: Apache Axis
>         Type: Bug
>   Components: Serialization/Deserialization, WSDL processing
>     Versions: 1.2, 1.2.1
>     Reporter: Javier Kohen

>
> Since I updated from Axis 1.1 to 1.2(.1), I cannot access the service at http://www.xmethods.net/sd/2001/EBayWatcherService.wsdl anymore. The following explanation is given:
> No Deserializer found to deserialize a 'http://schemas.xmlsoap.org/soap/encoding/:string' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'.
> My code is:
> 		URL srvUrl =
> 			new URL("http://www.xmethods.net/sd/2001/EBayWatcherService.wsdl");
> 		String namespace = "http://www.xmethods.net/sd/eBayWatcherService.wsdl";
> 		String opNamespace = "urn:xmethods-EbayWatcher";
> 		ServiceFactory serviceFactory = ServiceFactory.newInstance();
> 		Service service
> 			= serviceFactory.createService(
> 				srvUrl,
> 				new QName(namespace, "eBayWatcherService"));
> 		Call call = service.createCall(new QName(namespace, "eBayWatcherPort"));
> 		call.setOperationName(new QName(opNamespace, "getCurrentPrice"));
> 		Float price = (Float) call.invoke(
> 			new Object[] { auction_id });
> I found a couple other users reporting the similar problem on the web, but there aren't more than 5-10 matches on google.com.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira