2017-10-11 4 views
0

でこのコンテキストで認識されていません。スタブからSOAPリクエストを送信しようとすると、以下の例外が発生します。また、そのスーパークラスもjaxb

[com.sun.istack.internal.SAXException2: class com.domain.Test nor any of its super class is known to this context. 
    javax.xml.bind.JAXBException: class com.domain.Test nor any of its super class is known to this context.] 
at com.sun.xml.internal.ws.message.jaxb.JAXBMessage.writePayloadTo(JAXBMessage.java:408) 
    at com.sun.xml.internal.ws.message.AbstractMessageImpl.writeTo(AbstractMessageImpl.java:173) 
    at com.sun.xml.internal.ws.api.message.MessageWrapper.writeTo(MessageWrapper.java:206) 
    at com.sun.xml.internal.ws.encoding.StreamSOAPCodec.encode(StreamSOAPCodec.java:129) 
    at com.sun.xml.internal.ws.encoding.SOAPBindingCodec.encode(SOAPBindingCodec.java:227) 
    at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:210) 
    at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:130) 
    at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:95) 

これを実行する方法イムは

NmsRtEvent event = new NmsRtEvent(); // WebServiceClient 
RtEventMethodsSoap methodsSoap = event.getRtEventMethodsSoap(); //WebService 
Element element = new Element(); 
element.setAny(new Test()); 
plId = methodsSoap.pushEvent(token,element); 

Testクラス

@XmlType(namespace = "http://www.test.com/test") 
@XmlAccessorType(XmlAccessType.FIELD) 
@XmlRootElement 
public class Test implements Serializable{ 

    private int id; 

} 

あるおかげ

答えて

0

Java doc @XmlSeeAlsoについて語る -

このクラスをバインドするときに、他のクラスもバインドするようにJAXBに指示します。

@ XmlSeeAlsoという注釈をTest.class値とともに使用しましたが、正しくありません。 Testクラスにバインドするときにバインドする必要のある他のクラスである必要があります。

+0

返信いただきありがとうございます。そこから注釈を削除しました。テストクラスは生成されたElementクラス(スタブクラス)にバインドされています。 – Dilantha

関連する問題