I'm using axis-1.2RC1.
Perhaps you need to change
languageSpecificType=...
to
type=...
You also need to make sure that if you use
qname="xxx:anyURI"
that there is a namespace declaration
xmlns:xxx="http://www.w3.org/2001/XMLSchema"
in scope.
Note also that my type mapping was set up for doc/lit (encodingStyle="")
whereas you seem to be using rpc with soap encoding. If so, be sure to
use the encodingStyle attribute from your original posting.
Jeff
Robert Kasunic wrote:
Hi Jeff,
tried that and got following Exception:
Processing file deploy.wsdd
Exception: AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.apache.axis.deployment.wsdd.WSDDException:
javax.xml.rpc.JAXRPCException: Null qualified name specified.
javax.xml.rpc.JAXRPCException: Null qualified name specified.
at
org.apache.axis.encoding.TypeMappingImpl.internalRegister(TypeMappingImpl.java:241)
at
org.apache.axis.encoding.TypeMappingImpl.register(TypeMappingImpl.java:223)
at
org.apache.axis.deployment.wsdd.WSDDDeployment.deployMapping(WSDDDeployment.java:321)
at
org.apache.axis.deployment.wsdd.WSDDDeployment.deployTypeMapping(WSDDDeployment.java:165)
at
org.apache.axis.deployment.wsdd.WSDDDeployment.deployToRegistry(WSDDDeployment.java:280)
at
org.apache.axis.deployment.wsdd.WSDDDocument.deploy(WSDDDocument.java:151)
at org.apache.axis.utils.Admin.processWSDD(Admin.java:115)
at org.apache.axis.utils.Admin.process(Admin.java:157)
at org.apache.axis.utils.Admin.AdminService(Admin.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.apache.axis.providers.java.MsgProvider.processMessage(MsgProvider.java:126)
at
org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:450)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285)
at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:653)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:534)
What version do you use?
Cheers,
Robert
* Jeff Greif <[EMAIL PROTECTED]> [2005-06-02 10:01:49 -0700]:
This works for me:
<typeMapping
deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory"
serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory"
languageSpecificType="java:java.lang.String"
encodingStyle=""
qname="xsd:anyURI"/>
Jeff
Robert Kasunic wrote:
Hi all,
I need to replace the existing default type mapping for xsd:anyURI, i. e. get Axis to put data of that type into an instance of a
special Java class.
Is that possible by putting a typeMapping like the following into the WSDD file?
<typeMapping
xmlns:ns="http://www.w3.org/2001/XMLSchema"
qname="anyURI"
type="java:xxx.MyURIClass"
serializer="org.apache.axis.encoding.ser.SimpleSerializerFactory"
deserializer="org.apache.axis.encoding.ser.SimpleDeserializerFactory"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
/>
I tried that to no avail - Axis still uses its standard datatype
org.apache.axis.types.URI.
So, how can I override a default type mapping?
Thanks,
Robert
__________________________________________________________
Mit WEB.DE FreePhone mit hoechster Qualitaet ab 0 Ct./Min.
weltweit telefonieren! http://freephone.web.de/?mc=021201