On Feb 6, 2013, at 7:38 AM, "Gormann, Erich" <[email protected]> wrote:

> Dear all,
> 
> I'am just new to this and first I would like to greet you all.
> 
> Since two years I'am working with web services and 2 weeks ago I used Apache 
> CXF the first time. I generated code using the wsdl2java goal in the 
> cxf-codegen-plugin. My cxf version is 2.7.3.
> 
> When calling a webservice from outside I faced the following problem 
> (complete stack at the end of this post):

We'd likely need to see a bit more information.  In particular:

1) The element and sequence that would represent the message that is being sent 
in the soap:body

2) The soap message being sent.


If the element within the messages sequence looks something like:

<element name="foo" type="XYZID"/>

then the soap message would HAVE to have an xsi:type attribute on the element 
to specify that it is a subclass.

If it looks like:
<element name="foo" type="XYZIDSubType"/>

then I believe it should be working fine.   Would need to see the schema and 
messages though to double check.

Dan


> 
> Feb 06, 2013 8:55:00 AM com.sun.xml.bind.v2.ClassFactory create
> INFO: failed to create a new instance of class 
> eu.mybankpayments.protocol.messages._20120917.AbstractApplicationID
> java.lang.InstantiationException
>        at 
> sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48)
> 
> 
> There is an abstract type an 2 concrete sub classes in my xsd. Here is what 
> cxf has generated as annotation above the abstract type:
> @XmlAccessorType(XmlAccessType.FIELD)
> @XmlType(name = "XYZID", propOrder = {
>    "value"
> })
> public abstract class XYZID
>    implements Serializable
> { ...}
> 
> This is the annotation above the sub class:
> 
> @XmlAccessorType(XmlAccessType.FIELD)
> @XmlType(name = "XYZIDSubType")
> public class XYZIDSubType
>    extends XYZID
>    implements Serializable
> {
> 
> The XSD looks like following:
> 
> For the abstract class:
>      <xs:complexType name="XYZID" abstract="true" >
>            <xs:simpleContent>
>                  <xs:extension base="protocol:SomeExtensionType"/>
>            </xs:simpleContent>
>      </xs:complexType>
> 
> For the sub class:
>      <xs:complexType name="XYZIDSubType">
>            <xs:simpleContent>
>                  <xs:restriction base="protocol:XYZID">
>                        <xs:pattern value="foobarpattern"/>
>                  </xs:restriction>
>            </xs:simpleContent>
>      </xs:complexType>
> 
> 
> Thank you in advance for any help .
> 
> Regards, Eric
> 
> 
> Feb 06, 2013 8:55:00 AM com.sun.xml.bind.v2.ClassFactory create
> INFO: failed to create a new instance of class 
> eu.mybankpayments.protocol.messages._20120917.AbstractApplicationID
> java.lang.InstantiationException
>        at 
> sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:48)
>        at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
>        at com.sun.xml.bind.v2.ClassFactory.create0(ClassFactory.java:133)
>        at com.sun.xml.bind.v2.ClassFactory.create(ClassFactory.java:142)
>        at 
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.createInstance(UnmarshallingContext.java:609)
>        at 
> com.sun.xml.bind.v2.model.impl.RuntimeClassInfoImpl$TransducerImpl.parse(RuntimeClassInfoImpl.java:392)
>        at 
> com.sun.xml.bind.v2.runtime.reflect.TransducedAccessor$CompositeTransducedAccessorImpl.parse(TransducedAccessor.java:247)
>        at 
> com.sun.xml.bind.v2.runtime.unmarshaller.LeafPropertyLoader.text(LeafPropertyLoader.java:65)
>        at 
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.text(UnmarshallingContext.java:514)
>        at 
> com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.processText(StAXStreamConnector.java:338)
>        at 
> com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleEndElement(StAXStreamConnector.java:216)
>        at 
> com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:185)
>        at 
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:370)
>        at 
> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:349)
>        at 
> org.apache.cxf.jaxb.JAXBEncoderDecoder.doUnmarshal(JAXBEncoderDecoder.java:769)
>        at 
> org.apache.cxf.jaxb.JAXBEncoderDecoder.access$100(JAXBEncoderDecoder.java:94)
>        at 
> org.apache.cxf.jaxb.JAXBEncoderDecoder$1.run(JAXBEncoderDecoder.java:797)
>        at java.security.AccessController.doPrivileged(Native Method)
>        at 
> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:795)
>        at 
> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:629)
>        at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:157)
>        at 
> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:198)
>        at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
>        at 
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>        at 
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
>        at 
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:218)
>        at 
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:198)
>        at 
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
>        at 
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:158)
>        at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:243)
>        at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:163)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>        at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:219)
>        at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>        at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>        at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
>        at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>        at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
>        at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
>        at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>        at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>        at 
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
>        at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>        at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
>        at 
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
>        at 
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
>        at 
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
>        at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>        at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>        at java.lang.Thread.run(Thread.java:722)
> 
> Geschäftsführer: Wolf Kunisch
> Aufsichtsratsvorsitzender: Christophe Duquenne
> Sitz der Gesellschaft: Frankfurt/M.
> Handelsregister: Frankfurt/Main HRB 40 417
> 
> * * * * * * * * L E G A L    D I S C L A I M E R * * * * * * * *
> This e-mail and the documents attached are confidential and intended solely 
> for the addressee; it may also be privileged. If you receive this e-mail by 
> error, please notify the sender immediately and destroy it. As its integrity 
> cannot be secured on the internet, the Atos group liability cannot be 
> triggered for the message content. Although the sender endeavors to maintain 
> a computer virus-free network, the sender does not warrant that this 
> transmission is virus-free and shall not be liable for any damages resulting 
> from any virus transmitted.
> * * * * * * * * L E G A L    D I S C L A I M E R * * * * * * * *

-- 
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com

Reply via email to