You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by bu...@apache.org on 2002/09/01 06:46:46 UTC
DO NOT REPLY [Bug 12216] New: -
WebServiceProxy error handling
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12216>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12216
WebServiceProxy error handling
Summary: WebServiceProxy error handling
Product: Cocoon 2
Version: Current CVS
Platform: All
URL: http://xml.apache.org/cocoon
OS/Version: All
Status: NEW
Severity: Normal
Priority: Other
Component: general components
AssignedTo: cocoon-dev@xml.apache.org
ReportedBy: ivelin@iname.com
>From a discussion on the cocoon-dev mailing list:
Exception is thrown when the front portal is not refreshed for a while.
> This exception suggests that the HttpMultiClient preserves the connection
> object once associated with the session. However the underlying TCP pipe
> eventually times out and when you reload the page in the browser, the
> HttpMultiClient is not able to forward the request.
>
> I have been thinking about this and other similar problems.
> I guess the correct way to fix this is to have the proxy generate a standard
> XML piece along these lines:
>
> <?xml>
> <document xmlns="http://xml.apache.org/cocoon/WebServicesProxy/2002">
> <error id="proxy.failed">
> <message>
> Original exception : java.io.IOException: Broken pipe
> at java.net.SocketOutputStream.socketWrite(Native Method)
> ...
> </message>
> </error>
> </document>
>
>
> This way if a portal which has multiple panes proxied to remote sites will
> eventually have to be able to style errors, but will not
> be concerned that one remote site will break the entire portal page.
>
Additionally the WSProxy should attempt to reconnect to the remote site in
case of an error and only if it cannot should it return the error XML.
Here is the exception:
>>
>>Original exception : java.io.IOException: Broken pipe
>>at java.net.SocketOutputStream.socketWrite(Native Method)
>>at java.net.SocketOutputStream.write(SocketOutputStream.java:71)
>>at
>>
>>
> org.apache.commons.httpclient.HttpConnection.write(HttpConnection.java:363)
>
>>at
>>
>>
> org.apache.commons.httpclient.HttpConnection.print(HttpConnection.java:433)
>
>>at
>>
>>
> org.apache.commons.httpclient.HttpMethodBase.writeRequestHeaders(HttpMethodB
> ase.java:741)
>
>>at
>>
>>
> org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.jav
> a:693)
>
>>at
>>
>>
> org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:469
> )
>
>>at
>>
>>
> org.apache.commons.httpclient.HttpMultiClient.executeMethod(HttpMultiClient.
> java:286)
>
>>at
>>
>>
> org.apache.cocoon.generation.WebServiceProxyGenerator.fetch(WebServiceProxyG
> enerator.java:254)
>
>>at
>>
>>
> org.apache.cocoon.generation.WebServiceProxyGenerator.generate(WebServicePro
> xyGenerator.java:172)
>
>>at
>>
>>
> org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.processXMLP
> ipeline(AbstractProcessingPipeline.java:506)
>
>>at
>>
>>
> org.apache.cocoon.components.pipeline.impl.AbstractCachingProcessingPipeline
> .processXMLPipeline(AbstractCachingProcessingPipeline.java:204)
>
>>at
>>
>>
> org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(Abs
> tractProcessingPipeline.java:477)
>
>>at
>>
>>
> org.apache.cocoon.components.treeprocessor.sitemap.SerializeNode.invoke(Seri
> alizeNode.java:142)
>
>>at
>>
>>
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invo
> keNodes(AbstractParentProcessingNode.java:83)
>
>>at
>>
>>
> org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invok
> e(PreparableMatchNode.java:163)
>
>>at
>>
>>
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invo
> keNodes(AbstractParentProcessingNode.java:107)
>
>>at
>>
>>
> org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(Pipel
> ineNode.java:157)
>
>>at
>>
>>
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invo
> keNodes(AbstractParentProcessingNode.java:107)
>
>>at
>>
>>
> org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(Pipe
> linesNode.java:155)
>
>>at
>>
>>
> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcess
> or.java:327)
>
>>at
>>
>>
> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcess
> or.java:309)
>
>>at
>>
>>
> org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNod
> e.java:131)
>
>>at
>>
>>
> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invo
> keNodes(AbstractParentProcessingNode.java:83)
>
>>at
>>
>>
> org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invok
> e(PreparableMatchNode.java:163)
>
>>at
>>
>>
...
---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org