generiert und versucht, den Webservice auf WebSphere 9.0.5.13 < /strong> < /p>
- Der Anwendungsklassenlader zu Last < /la>
Das folgende JVM -Argument:Code: Select all
Djavax.xml.bind.JAXBContext=com.sun.xml.internal.bind.v2.ContextFactory
Code: Select all
[javax.xml.bind.UnmarshalException: unexpected element (uri:"http://www.mycompany.com", local:"MyOCRFileRequestRs"). Expected elements are (none)]
< /code>
Mein Code ist wie folgt: < /p>
private MyOCRFileRequestRsType callMyOCRService(MyOCRFileRequestRqType MyOCRRequest) throws Exception {
String headerValue = "Bearer "+MyTokenClient.getToken();
MyOCRFileRequest port= esbOcrSerice.getMyOCRFileRequestSOAP11();
Map requestContext = ((BindingProvider) port).getRequestContext();
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,ConfigManager.getMyOCRRequestUrl().split("[?]")[0]);
requestContext.put("javax.xml.ws.http.request.headers",
Collections.singletonMap("Authorization", Collections.singletonList(headerValue)));
try {
return port.MyOCRFileRequest(MyOCRRequest);
} catch (Exception e) {
throw e;
}
}
< /code>
Der erste Anruf funktioniert ohne Probleme gut, aber alle nachfolgenden Anrufe schlägen mit dem folgenden Fehler fehl: < /p>
[javax.xml.bind.UnmarshalException: unexpected element (uri:"http://www.mycompany.com", local:"MyOCRFileRequestRs"). Expected elements are (none)]
< /code>
MyocRefilequest -Schnittstelle: < /p>
@WebService(name = "MyOCRFileRequest", targetNamespace = "http://www.mycompany.com")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
@XmlSeeAlso({
ObjectFactory.class
})
public interface MyOCRFileRequest {
/**
*
* @param MyOCRFileRequestRq
* @return
* returns com.mycompany.idrak.MyOCRFileRequestRsType
*/
@WebMethod(operationName = "MyOCRFileRequest", action = "MyOCRFileRequest")
@WebResult(name = "MyOCRFileRequestRs", targetNamespace = "http://www.mycompany.com", partName = "MyOCRFileRequestRs")
public MyOCRFileRequestRsType MyOCRFileRequest(
@WebParam(name = "MyOCRFileRequestRq", targetNamespace = "http://www.mycompany.com", partName = "MyOCRFileRequestRq")
MyOCRFileRequestRqType MyOCRFileRequestRq);
}
< /code>
myocRefilequestrstype: < /p>
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "MyOCRFileRequestRs_Type", propOrder = {
"msgRsHdr",
"body"
})
public class MyOCRFileRequestRsType {
@XmlElement(name = "MsgRsHdr", required = true)
protected MsgRsHdrType msgRsHdr;
@XmlElement(name = "Body")
protected MyOCRFileRequestRsBodyType body;
public MsgRsHdrType getMsgRsHdr() {
return msgRsHdr;
}
public void setMsgRsHdr(MsgRsHdrType value) {
this.msgRsHdr = value;
}
public MyOCRFileRequestRsBodyType getBody() {
return body;
}
public void setBody(MyOCRFileRequestRsBodyType value) {
this.body = value;
}
}
Ich habe versucht, die benutzerdefinierte JVM -Eigenschaft zu verwenden, und das Problem gibt es weiterhin
Code: Select all
com.ibm.xml.xlxp.jaxb.opti.level=0