src/share/jaxws_classes/com/sun/xml/internal/ws/transport/http/client/HttpTransportPipe.java

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.  Oracle designates this

@@ -255,11 +255,18 @@
         }
 
         // Allows only certain http status codes for a binding. For all
         // other status codes, throws exception
         checkStatusCode(responseStream, con); // throws ClientTransportException
-
+        //To avoid zero-length chunk for One-Way
+        if (cl ==-1 && con.statusCode == 202 && "Accepted".equals(con.statusMessage) && responseStream != null) {
+            ByteArrayBuffer buf = new ByteArrayBuffer();
+            buf.write(responseStream); //What is within the responseStream?
+            responseStream.close();
+            responseStream = (buf.size()==0)? null : buf.newInputStream();
+            buf.close();
+        }
         Packet reply = request.createClientResponse(null);
         reply.wasTransportSecure = con.isSecure();
         if (responseStream != null) {
             String contentType = con.getContentType();
             if (contentType != null && contentType.contains("text/html") && binding instanceof SOAPBinding) {