The response needs to have a namespace attached:

### Eclipse Workspace Patch 1.0
#P ofbiz
Index: framework/webapp/src/org/ofbiz/webapp/event/SOAPEventHandler.java
===================================================================
--- framework/webapp/src/org/ofbiz/webapp/event/SOAPEventHandler.java (revision 894372) +++ framework/webapp/src/org/ofbiz/webapp/event/SOAPEventHandler.java (working copy)
@@ -140,6 +140,7 @@
        }

        // not a wsdl request; invoke the service
+        response.setContentType("text/xml");
// request envelope
        SOAPEnvelope reqEnv = null;
@@ -193,7 +194,7 @@
SOAPFactory factory = OMAbstractFactory.getSOAP11Factory(); SOAPEnvelope resEnv = factory.createSOAPEnvelope();
                            SOAPBody resBody = factory.createSOAPBody();
- OMElement resService = factory.createOMElement(new QName(serviceName + "Response")); + OMElement resService = factory.createOMElement(new QName(ModelService.TNS, serviceName + "Response")); resService.addChild(resultSer.getFirstElement());
                            resBody.addChild(resService);
                            resEnv.addChild(resBody);
@@ -227,6 +228,7 @@
private void sendError(HttpServletResponse res, String errorMessage) throws EventHandlerException {
        try {
            // setup the response
+            res.setContentType("text/xml");
            Map<String, Object> results = FastMap.newInstance();
            results.put("errorMessage", errorMessage);
            String xmlResults= XmlSerializer.serialize(results);


Christopher Snow wrote:
I was still getting the text/html error, so had to set the content type as follows:

### Eclipse Workspace Patch 1.0
#P ofbiz
Index: framework/webapp/src/org/ofbiz/webapp/event/SOAPEventHandler.java
===================================================================
--- framework/webapp/src/org/ofbiz/webapp/event/SOAPEventHandler.java (revision 894372) +++ framework/webapp/src/org/ofbiz/webapp/event/SOAPEventHandler.java (working copy)
@@ -140,6 +140,7 @@
        }

        // not a wsdl request; invoke the service
+        response.setContentType("text/xml");
               // request envelope
        SOAPEnvelope reqEnv = null;
@@ -227,6 +228,7 @@
private void sendError(HttpServletResponse res, String errorMessage) throws EventHandlerException {
        try {
            // setup the response
+            res.setContentType("text/xml");
            Map<String, Object> results = FastMap.newInstance();
            results.put("errorMessage", errorMessage);
            String xmlResults= XmlSerializer.serialize(results);

Now I am receiving the error:

javax.xml.ws.WebServiceException: Unexpected response element findPartiesByIdResponse expected: {http://ofbiz.apache.org/service/}findPartiesByIdResponse

Will take a look at that error shortly...


Christopher Snow wrote:
Thanks Bilgin,

Will take a look in a few hours:

I think the following patch may be needed also:

### Eclipse Workspace Patch 1.0
#P ofbiz
Index: framework/webapp/src/org/ofbiz/webapp/event/SOAPEventHandler.java
===================================================================
--- framework/webapp/src/org/ofbiz/webapp/event/SOAPEventHandler.java (revision 894372) +++ framework/webapp/src/org/ofbiz/webapp/event/SOAPEventHandler.java (working copy)
@@ -227,6 +227,7 @@
private void sendError(HttpServletResponse res, String errorMessage) throws EventHandlerException {
        try {
            // setup the response
+            res.setContentType("text/xml");
            Map<String, Object> results = FastMap.newInstance();
            results.put("errorMessage", errorMessage);
            String xmlResults= XmlSerializer.serialize(results);

Cheers,

Chris




--
Chris Snow - CEng MBCS CITP MBA (Tech Mgmt) (Open) CISSP

Tel: 01453 890660
Mob: 07944 880950
Www: www.snowconsulting.co.uk

Reply via email to