cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "z12345678me (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CXF-3671) javax.xml.bind.JAXBException: xx.xxx.xxx.BATCHRESULTINPUT is not known to this context
Date Wed, 20 Jul 2011 07:35:57 GMT
javax.xml.bind.JAXBException: xx.xxx.xxx.BATCHRESULTINPUT is not known to this context
--------------------------------------------------------------------------------------

                 Key: CXF-3671
                 URL: https://issues.apache.org/jira/browse/CXF-3671
             Project: CXF
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.3
         Environment: JavaSE6.0, Eclipse, Weblogic10.3.3
            Reporter: z12345678me
            Priority: Blocker


I tried to invoke webservice by following method:
        DynamicClientFactory dcf = DynamicClientFactory.newInstance();
        Client client = dcf.createClient("http://localhost:7001/bsdm/ws/BatOrdSer?wsdl");
        xx.xxx.xxx.BATCH_RESULT_INPUT input=new xx.xxx.xxx.BATCH_RESULT_INPUT();
        try {
	    Object[] ret = client.invoke("batchResult",input);
	} catch (Exception e) {
	    e.printStackTrace();
	}
And I catched following exception:
    Caused by: javax.xml.bind.JAXBException: xx.xxx.xxx.BATCHRESULTINPUT is not known to this
context
	at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:625)
	at com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:141)

When I tried to debug the programe, I found that cxf will create webservice request and response
classes at runtime in method createClient, for example:
        2011-7-20 15:06:59 org.apache.cxf.jaxb.JAXBUtils logGeneratedClassNames
        info : Created classes: xx.xxx.xxx.BATCHRESULTINPUT
And an instance of JAXBContextImpl was created also. But in the JAXBContextImpl context instance
class name "xx.xxx.xxx.BATCH_RESULT_INPUT" was used, which is different with "xx.xxx.xxx.BATCHRESULTINPUT".

Then when method Client.invoke is invoked, JAXBException will be thrown. I find in class JAXBEncoderDecoder's

                    marshall(Marshaller marshaller, 
                                Object elValue, 
                                MessagePartInfo part,
                                Object source)  
method, part's typeClass will be used. But part's typeClass is "xx.xxx.xxx.BATCHRESULTINPUT"
which class is not in context.

Following is one piece of WSDL file:
<wsdl:message name="batchResultRequest">
		<wsdl:part name="parameters" element="unibssBody:BATCH_RESULT_INPUT"/>
	</wsdl:message>

This problem has blocked us, could you tell me the solution. Thanks.

Best regards!



--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message