2016-07-26 15 views
0

Versuch, ein Problem zu beheben, das sich über fehlende MIME-Grenze beschwert.org.apache.cxf.interceptor.Fault: Konnte die MIME-Grenze nicht finden

Ich rufe einen Soap-Webservice an, sieht aus wie die Ausnahme, die von der Analyse der Antwort kommt? jemanden über irgendeinen möglichen Grund wissen?

2016-07-25 18:39:51.373 +0000 [lcbatch-scheduler_Worker-1] [WARN] o.a.cxf.phase.PhaseInterceptorChain - Interceptor for {http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/}ErpIntegrationServiceService#{http://xmlns.oracle.com/apps/financials/commonModules/shared/model/erpIntegrationService/}uploadFileToUcm has thrown exception, unwinding now 
org.apache.cxf.interceptor.Fault: Couldn't find MIME boundary: ------=_Part_679_384721743.1469471991267 
     at org.apache.cxf.interceptor.AttachmentInInterceptor.handleMessage(AttachmentInInterceptor.java:60) 
     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) 
     at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:798) 
     at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1641) 
     at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1532) 
     at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1330) 
     at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) 
     at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:652) 
     at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) 
     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) 
     at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:514) 
     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:423) 
     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:324) 
     at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:277) 
     at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) 
     at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:139) 
     at com.sun.proxy.$Proxy156.uploadFileToUcm(Unknown Source) 

Apache CXF Abhängigkeiten Ich verwende:

+- org.apache.cxf:cxf-rt-frontend-jaxws:jar:3.1.2:compile 
[INFO] | | +- xml-resolver:xml-resolver:jar:1.2:compile 
[INFO] | | +- org.apache.cxf:cxf-core:jar:3.1.2:compile 
[INFO] | | | +- org.codehaus.woodstox:woodstox-core-asl:jar:4.4.1:compile 
[INFO] | | | | \- org.codehaus.woodstox:stax2-api:jar:3.1.4:compile 
[INFO] | | | \- org.apache.ws.xmlschema:xmlschema-core:jar:2.2.1:compile 
[INFO] | | +- org.apache.cxf:cxf-rt-bindings-soap:jar:3.1.2:compile 
[INFO] | | | +- org.apache.cxf:cxf-rt-wsdl:jar:3.1.2:compile 
[INFO] | | | | \- wsdl4j:wsdl4j:jar:1.6.3:compile 
[INFO] | | | \- org.apache.cxf:cxf-rt-databinding-jaxb:jar:3.1.2:compile 
[INFO] | | +- org.apache.cxf:cxf-rt-bindings-xml:jar:3.1.2:compile 
[INFO] | | +- org.apache.cxf:cxf-rt-frontend-simple:jar:3.1.2:compile 
[INFO] | | \- org.apache.cxf:cxf-rt-ws-addr:jar:3.1.2:compile 
[INFO] | |  \- org.apache.cxf:cxf-rt-ws-policy:jar:3.1.2:compile 
[INFO] | |  \- org.apache.neethi:neethi:jar:3.0.3:compile 
[INFO] | \- org.apache.cxf:cxf-rt-transports-http:jar:3.1.2:compile 

Antwort

1

Sie eine mehrteilige Nachricht empfangen (wie auf https://www.w3.org/Protocols/rfc1341/7_2_Multipart.html beschrieben).

Sie könnten damit beginnen, indem Sie den Wert der Kopfzeile "Content-Type" überprüfen. Es sollte dann so etwas wie

Content-Type : multipart/related; type="application/xop+xml"; boundary="----=_Part_679_384721743.1469471991267" 

sein, können Sie den Inhalt der Antwort untersuchen könnte, dass Sie eine Vorstellung davon, kann das, was fehlt. Um den Inhalt zu untersuchen, könnten Sie Wiremock als Proxy verwenden, um alles abzufangen, was über die Leitung geht (http://wiremock.org/docs/proxying/). Zum Beispiel habe ich vor kurzem, dass und Wiremock aufgezeichnet dies für mich

--uuid:0a6c8ffe-9f63-4fdb-a416-43acd1044b8b 
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml" 
Content-Transfer-Encoding: binary 
Content-ID: <[email protected]> 

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body> <myxml>....</myxml></soap:Body></soap:Envelope> 
--uuid:0a6c8ffe-9f63-4fdb-a416-43acd1044b8b-- 

In meinem Fall uuid: 0a6c8ffe-9f63-4fdb-a416-43acd1044b8b ist der MIME-Grenze.