When using the <io:soap> tag in a JSP file more than once an error occurs the second time: java.net.ProtocolException: cannot write to a URLConnection if doOutput=false - call setDoOutput(true) The implementation in org.apache.taglibs.io.HttpSoapTag has a constructor which calls setAction("SOAP"). But the instantiation is done only once per JSP page. As the URL connection in URLTag, which HttpSoapTag extends, is released after the first use of <io:soap> the action is reset to the default GET action thus resulting in the abovementioned error at the second call. Proposed fix: Move the setAction() call from instantiation to configureConnection(): diff HttpSoapTag.java.orig HttpSoapTag 51d50 < setAction( "POST" ); 62a62 > setAction( "POST" ); This seems to work.
Created attachment 17368 [details] diff for org.apache.taglibs.io.HttpSoapTag.java
Resolving. Taglib has been retired.