Bug 780146 (SOA-2519) - "host paramter is null' reported when attempting WS proxying
Summary: "host paramter is null' reported when attempting WS proxying
Keywords:
Status: CLOSED NEXTRELEASE
Alias: SOA-2519
Product: JBoss Enterprise SOA Platform 5
Classification: JBoss
Component: Documentation, JBossESB
Version: 5.1.0.ER3
Hardware: Unspecified
OS: Unspecified
urgent
urgent
Target Milestone: ---
: 5.1.0 GA
Assignee: David Le Sage
QA Contact:
URL: http://jira.jboss.org/jira/browse/SOA...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-10-29 16:10 UTC by John Doyle
Modified: 2011-03-04 03:42 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
5.0.1.ER3, RHEL 5, JBDS Beta 1
Last Closed: 2011-03-04 03:42:08 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
SOA-2519-jira.zip (3.50 KB, application/x-zip)
2010-10-29 16:11 UTC, John Doyle
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker SOA-2519 0 None None None Never

Description John Doyle 2010-10-29 16:10:07 UTC
project_key: SOA

I'm attempting to proxy a Teiid SOAP service hosted in the same SOA install.  When deploying the ESB project I get the following error when the ESB tries to load the WSDL.  I've debugged it partially are it appears that the host never gets into the HTTP Method even though the correct URL is supplied.  This should be reproducible w/o my SOAP service.

Caused by: org.jboss.soa.esb.ConfigurationException: java.lang.IllegalArgumentException: host parameter is null
	at org.jboss.soa.esb.actions.soap.proxy.SOAPProxy.<init>(SOAPProxy.java:193)
	... 66 more
Caused by: java.lang.IllegalArgumentException: host parameter is null
	at org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:205)
	at org.apache.commons.httpclient.HttpConnection.<init>(HttpConnection.java:154)
	at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionWithReference.<init>(MultiThreadedHttpConnectionManager.java:1105)
	at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$ConnectionPool.createConnection(MultiThreadedHttpConnectionManager.java:741)
	at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.doGetConnection(MultiThreadedHttpConnectionManager.java:469)
	at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager.getConnectionWithTimeout(MultiThreadedHttpConnectionManager.java:394)
	at org.jboss.soa.esb.http.ESBMultiThreadedHttpConnectionManager.getConnectionWithTimeout(ESBMultiThreadedHttpConnectionManager.java:74)
	at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:152)
	at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
	at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324)
	at org.jboss.soa.esb.actions.soap.RemoteWsdlLoader.load(RemoteWsdlLoader.java:90)
	at org.jboss.soa.esb.actions.soap.AbstractWsdlContractPublisher.getWsdl(AbstractWsdlContractPublisher.java:199)
	at org.jboss.soa.esb.actions.soap.proxy.SOAPProxyWsdlLoader$Puller.pull(SOAPProxyWsdlLoader.java:521)
	at org.jboss.soa.esb.actions.soap.proxy.SOAPProxyWsdlLoader.load(SOAPProxyWsdlLoader.java:157)
	at org.jboss.soa.esb.actions.soap.proxy.SOAPProxy.<init>(SOAPProxy.java:188)
	... 66 more
12:01:57,726 INFO  [EsbDeployment] Destroying 'ProductProxy.esb'

Comment 1 John Doyle 2010-10-29 16:11:17 UTC
Here's the project.

Comment 2 John Doyle 2010-10-29 16:11:17 UTC
Attachment: Added: SOA-2519-jira.zip


Comment 3 Kevin Conner 2010-11-01 16:32:34 UTC
You removed HttpProtocol from the list of configurators.

configurators=AuthBASIC, HttpProtocol

Is this not mentioned in the documentation?

Comment 4 John Doyle 2010-11-02 15:32:06 UTC
Here is the doc I've been referring to, and if I'm reading it correctly, that's an optional property.

http://documentation-stage.bne.redhat.com/docs/en-US/JBoss_Enterprise_SOA_Platform/5/html/ESB_Programmers_Guide/chap-SOA_ESB_Programmers_Guide-Out-of-the-box_Actions.html#sect-SOAP-SOAPPROXY

Is my understanding incorrect?

For the service I have configured, I need to send Basic credentials, and it looks like I was using the clientCredentialRequired property incorrectly.  I've change that value to be false, but it doesn't seem to matter.

Comment 5 Kevin Conner 2010-11-02 15:48:21 UTC
The exception you are seeing is caused by the fact you have not configured the HttpProtocol.

While this property is optional, defaulting to HttpProtocol, you must include that configurator (or an alternative) if you specify it.

The documentation does include both but is not as clear as it should be.

Comment 6 John Doyle 2010-11-05 19:51:51 UTC
I just spoke to Ken Johnson following the defect review and we discussed what the doc might say.  One issue that it's struggled with in this case is how to set up the HTTP config for different scenarios.  All of our examples seem to point to a SSL Socket implementation sample.  I think we should document the SSL config, as well as a plain HTTP config and a plain HTTP config with BASIC Auth.  

Comment 7 Kevin Conner 2010-11-06 08:19:40 UTC
The documentation that appears to be missing is the descriptions of each configurator and what they do, including whether they are required or optional.

If we have this in place then the configuration should be clearer.

Comment 8 Anne-Louise Tangring 2010-11-09 15:54:52 UTC
Candidate for SOA 5.1.0. Needs clearer documentation.

Comment 9 Anne-Louise Tangring 2010-12-06 16:52:08 UTC
Blocker for SOA 5.1.0

Comment 11 Dana Mison 2011-01-05 00:14:45 UTC
Writer: Added: dlesage


Comment 12 Kevin Conner 2011-03-03 13:55:17 UTC
Link: Added: This issue depends JBESB-3575


Comment 13 Kevin Conner 2011-03-03 13:57:54 UTC
Updated in ESB 4.9CP branch

Comment 14 David Le Sage 2011-03-04 03:41:51 UTC
Section has been merged from upstream into product document.

Comment 15 David Le Sage 2011-03-04 03:41:51 UTC
Release Notes Docs Status: Added: Not Required



Note You need to log in before you can comment on or make changes to this bug.