javax.xml.ws.WebServiceException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • I have setup the findPartiesById service to export="true" and tried to call the web service using Netbeans 6.5. I received the following error message: {code} com.sun.xml.internal.ws.server.UnsupportedMediaException: Unsupported Content-Type: text/html;charset=utf-8 Supported ones are: [text/xml] at com.sun.xml.internal.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:284) at com.sun.xml.internal.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:118) at com.sun.xml.internal.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:278) at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:180) at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:83) at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:105) at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:587) at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:546) at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:531) at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:428) at com.sun.xml.internal.ws.client.Stub.process(Stub.java:211) at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:124) at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:98) at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78) at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107) at $Proxy28.findPartiesById(Unknown Source) at javaapplication7.Main.main(Main.java:74) {code} Watching the tcp steam with wireshark, I can see that the prefix ns2 is added to the map-Entry items: {code} <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:findPartiesById xmlns:ns2="http://ofbiz.apache.org/service/"> <map-Map> <ns2:map-Entry> <ns2:map-Key> <ns2:std-String value="idToFind"/> </ns2:map-Key> <ns2:map-Value> <ns2:std-String value="admin"/> </ns2:map-Value> </ns2:map-Entry> <ns2:map-Entry> <ns2:map-Key> <ns2:std-String value="login.username"/> </ns2:map-Key> <ns2:map-Value> <ns2:std-String value="admin"/> </ns2:map-Value> </ns2:map-Entry> <ns2:map-Entry> <ns2:map-Key> <ns2:std-String value="login.password"/> </ns2:map-Key> <ns2:map-Value> <ns2:std-String value="ofbiz"/> </ns2:map-Value> </ns2:map-Entry> </map-Map> </ns2:findPartiesById> </S:Body> </S:Envelope> {code} If I copy this soap message and paste into SoapUI, the soap call fails. However, if I strip off the ns2 prefix from the map-Entry items (as below), the call succeeds: {code} <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:findPartiesById xmlns:ns2="http://ofbiz.apache.org/service/"> <map-Map> <map-Entry> <map-Key> <std-String value="idToFind"/> </map-Key> <map-Value> <std-String value="admin"/> </map-Value> </map-Entry> <map-Entry> <map-Key> <std-String value="login.username"/> </map-Key> <map-Value> <std-String value="admin"/> </map-Value> </map-Entry> <map-Entry> <map-Key> <std-String value="login.password"/> </map-Key> <map-Value> <std-String value="ofbiz"/> </map-Value> </map-Entry> </map-Map> </ns2:findPartiesById> </S:Body> </S:Envelope> {code} My java class is: {code} package javaapplication7; import org.apache.ofbiz.service.MapEntry; import org.apache.ofbiz.service.MapKey; import org.apache.ofbiz.service.MapMap; import org.apache.ofbiz.service.MapValue; import org.apache.ofbiz.service.StdString; public class Main { public static void main(String[] args) { try { org.apache.ofbiz.service.FindPartiesById service = new org.apache.ofbiz.service.FindPartiesById(); org.apache.ofbiz.service.FindPartiesByIdPortType port = service.getFindPartiesByIdPort(); StdString keyString = new StdString(); keyString.setValue("idToFind"); MapKey mapKey = new MapKey(); mapKey.setStdString(keyString); StdString valueString = new StdString(); valueString.setValue("admin"); MapValue mapValue = new MapValue(); mapValue.setStdString(valueString); MapEntry mapEntry = new MapEntry(); mapEntry.setMapKey(mapKey); mapEntry.setMapValue(mapValue); StdString keyStringLogin = new StdString(); keyStringLogin.setValue("login.username"); MapKey mapKeyLogin = new MapKey(); mapKeyLogin.setStdString(keyStringLogin); StdString valueStringLogin = new StdString(); valueStringLogin.setValue("admin"); MapValue mapValueLogin = new MapValue(); mapValueLogin.setStdString(valueStringLogin); MapEntry mapEntryLogin = new MapEntry(); mapEntryLogin.setMapKey(mapKeyLogin); mapEntryLogin.setMapValue(mapValueLogin); StdString keyStringPassword = new StdString(); keyStringPassword.setValue("login.password"); MapKey mapKeyPassword = new MapKey(); mapKeyPassword.setStdString(keyStringPassword); StdString valueStringPassword = new StdString(); valueStringPassword.setValue("ofbiz"); MapValue mapValuePassword = new MapValue(); mapValuePassword.setStdString(valueStringPassword); MapEntry mapEntryPassword = new MapEntry(); mapEntryPassword.setMapKey(mapKeyPassword); mapEntryPassword.setMapValue(mapValuePassword); MapMap myMap = new MapMap(); myMap.getMapEntry().add(mapEntry); myMap.getMapEntry().add(mapEntryLogin); myMap.getMapEntry().add(mapEntryPassword); javax.xml.ws.Holder<org.apache.ofbiz.service.MapMap> mapMap = new javax.xml.ws.Holder<org.apache.ofbiz.service.MapMap>(myMap); port.findPartiesById(mapMap); } catch (Exception ex) { ex.printStackTrace(); } } } {code}
    via by chris snow,
    • javax.xml.ws.WebServiceException: Unexpected response element Response expected: {http://ofbiz.apache.org/service/}findPartiesByIdResponse at com.sun.xml.internal.ws.client.sei.ResponseBuilder$RpcLit.readResponse(ResponseBuilder.java:603) at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:110) at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78) at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107) at $Proxy28.findPartiesById(Unknown Source) at javaapplication7.Main.main(Main.java:74)

    Users with the same issue

    Unknown visitor
    Unknown visitor1 times, last one,
    Unknown visitor
    Unknown visitor1 times, last one,
    Unknown visitor
    Unknown visitor1 times, last one,
    Unknown visitor
    Unknown visitor1 times, last one,
    Unknown visitor
    Unknown visitor1 times, last one,
    5 more bugmates