I'm testing the wsrp4j consumer (ProxyPortlet) in an environment that requires going through a NetCache proxy server to get to the internet. Whenever I requested a producer on the internet I would get an HTTP 500 on the WSRP getServiceDescription. It turns out that the proxy was the one returning the error because it claims that it received a bad URL. Upon looking closer at the logs in the proxy server it appears that axis isn't sending complete URL's in the requests. The scheme, host and port and missing. Only the "file" part of the URL is in the POST line (but the request does have the correct "Host:" header).
My question: What's the right thing to do here? 1. Is axis correct in sending the first HTTP line without the scheme://host:port? 2. Is the proxy correct in rejecting the request without them? 3. Is there some inappropriate coding in wsrp4j that causes axis to do this? 4. Something else? Thanks for your time. p.s. Here's a sample of what I mean: POST /WSRPTestService/WSRPTestService.asmx HTTP/1.0 Content-Type: text/xml; charset=utf-8 Accept: application/soap+xml, application/dime, multipart/related, text/* User-Agent: Axis/1.2beta Host: wsrp.netunitysoftware.com:80 Cache-Control: no-cache Pragma: no-cache SOAPAction: "urn:oasis:names:tc:wsrp:v1:getServiceDescription" Content-Length: 597 <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <getServiceDescription xmlns="urn:oasis:names:tc:wsrp:v1:types"> <registrationContext> <registrationHandle>0b7c607a-5604-42d0-992a-9ca0c84c6628</registrationHandle> <registrationState/> </registrationContext> <desiredLocales>en</desiredLocales> <desiredLocales>nl</desiredLocales> </getServiceDescription> </soapenv:Body> </soapenv:Envelope>
