Unmarshalexception unerwartetes Element (URI: "", Lokal: ""). Die erwarteten Elemente sind (keine) auf WebSphere Second
Posted: 02 Apr 2025, 10:10
Ich habe einen SOAP -Webservice -Client mit wSimport < /strong>
generiert und versucht, den Webservice auf WebSphere 9.0.5.13 < /strong> < /p>
Updates :
Ich habe versucht, die benutzerdefinierte JVM -Eigenschaft zu verwenden, und das Problem gibt es weiterhin
Gibt es eine Konfiguration, die ich in WebSphere ändern muss, um dies zu beheben?
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