Problems with SOAPUI, SpringWS, and Tomcat5.5 - eclipse

Ive been trying to get an example Web Service working using SpringWS and Tomcat5.5
Ive followed examples such as:
1)http://justcompiled.blogspot.com/2010/09/building-...eb-service-with-spring-ws.html
2)http://jamesbnuzzo.wordpress.com/2009/04/14/spring...s-with-jaxb-maven-amp-eclipse/
The latter has an ZIP file which includes the WAR to drop into Tomcat
In both examples the Web Service runs and I can view the WSDL file (eg:http://localhost:8080/eightball/eightball.wsdl)
However, when I startup SOAPUI version 3.6.1, import the WSDL, set the endpoint for example to http://localhost:8080/eightball/eightball, and then try to submit a request to that endpoint, I get the following error.
Fri Nov 05 19:49:05 GMT 2010:INFO:Error getting response for [eightballSoap11.eightBall:Request 1]; java.net.ConnectException: Connection refused: connect
With the 1st example I used Eclipse Helios to develop and publish the WebService to Tomcat. Using SOAPUI in this scenario worked and I got the expected Responses back.
When I exported the same project to a WAR file and deployed on Tomcat, I got the SOAPUI connection exception ?!?!
Can anybody please help....

Which SOAP-Version does the Tomcat/SpringWS use, there might be a discrepancy between SOAP 1.0 and 1.2

I resolved this problem by adding in address="0.0.0.0" to the Connector element in server.xml.
The problem identified also meant that Tomcat could not be reached on address 127.0.0.1:8080 and only by localhost:8080
I think its all down to how Windows was listening on the loopback address for IPv4 and IPv6.

Related

How to create separate log file for each server instance running in the jboss domain mode

I'm using jboss 7.2,and I created a log4j2.xml and placed in the server, application running in the domain mode there are two server instance in each ip, application logs are printing only for one server instance and another server instance logs are not printing,how to print the both server instance logs are in separate files.
Is anyone having idea pls help on this.
Sorry....you cannot use log4j2 in JBoss7.2.
Only WildFly 22 supports Log4j2 out of the box.
However, you may implement Log4j2 to other versions of WildFly, according to this tutorial. However I did not try myself.

IBM BPM unable to detect WODM server?

Following the tutorial on
http://bpmwiki.blueworkslive.com/display/samples/Decision+Service+demonstrating+BPM+and+WODM+integration#DecisionServicedemonstratingBPMandWODMintegration-PartI%26nbsp%3B%5C%26nbsp%3BImplementingtheJRulesSolution
I'm able to run the rule app using soapUI and everything works fine. Now, when I try to implement the rule service on BPM, it seems BPM is unable to detect the WODM server.
When I test this using soapUI, the wsdl URL was something like: http://localhost:9081/xxxxxxxx.
Now, when I try to implement this on BPM, I've set the Server location to http://localhost:9081 and SOAP Port to 8881 as shown below:
However, I've failed to login. I'm wondering what SOAP Port actually is and why BPM needs one and soapUI doesn't?
Update:
When I set the SOAP Port to 8881, it's throwing
java.io.IOException: Mismatched serialization UIDs :
Source(RepId RMI:java.lang.Throwable:F...............) =........ whereas Target (RepId RMI:com.ibm.jsse2.util.h:CAAC186..................) = D9CE.........
When I set the SOAP Port to 8880, it's not throwing any errors but there's no ruleset and ruleapp available
When I set the SOAP Port to 8882 and above, it's throwing me
[SOAPException: faultCode=SOAP-ENV; msg=Error opening socket:
java.net.ConnectException: Connection refused: connect; targetException: Connection
refused: connect; targetException=java.lang.IllegalArgumentException: Error opening socket:
java.net.ConnectException: Connection refused: connect]
Has your WAS been installed using the default ports or custom ports?
I have got this working using BPM 8.5 and ODM 8.5, but the default SOAP port is 8880 (although I have noticed that you are using port 9081, which implies you might have more than one WAS server installed so its bumped all the port numbers up by one, so this might not be the problem).
The other thing to check is how you have set up the BPM server in the Process App Settings in BPM. The format of the server location should be http://:
BPM need the SOAP port of WODM server to explore what rule app / rule set are available, so that BPM could present a list for you to choose from.
When you call a ruleset in soapUI like following, you have already specified which rule app / rule set to call in the URL.
https://HOST:PORT/DecisionService/ws/ruleapp/ruleset
You may go to WAS admin console to check what's the SOAP port of the server that running WODM.

I can access 127.0.0.1, but not http://localhost:8080

I have a problem. I am trying to run a simple JSP page from Eclipse:
http://postimg.org/image/z268cl1s3/
But when I run this page i get a 404 error:
http://postimg.org/image/h0rosix4z/
When I put in:
localhost
127.0.0.1
in the browser it works fine:
http://postimg.org/image/8js6hlsg3/
I can see eclipse is running it from localhost:8080, but when i type that in at the browser it gives me this error:
http://postimg.org/image/7lbtfbf43/
Does anyone know how I can activate localhost on my mac. I looked up several tutorials, but i didnt find the answer. MySQL is also running fine on the computer, so I guess there is something that dont let me access [http://localhost:8080?]
Hope someone can help me?
Best Regards
Mads
There are two issues you are having:
There is a difference between http://localhost/ (and its equivalent http://127.0.0.1) and http://localhost:8080 - the first uses port 80, the second 8080. The Tomcat server listens only to the latter, that is shown by the servers error messages, and not generic 404 messages. In other words, do not forget to add the 8080 port numbers to the end of the localhost url
The Tomcat error messages show that the resources are not available, so I would look at what Java web applications are installed - e.g. the root web application is missing (the localhost:8080 url) for sure, and I am not sure whether your MySQL connector is.
Search google for how adding an entry to the hosts file on your mac.
You'll basically link localhost to 127.0.0.1 there

GWT JUnit tries to contact the wrong IP address

I am trying to run GWT Junit tests in eclipse Juno (right-click on test case file and "run as GWT JUnit test case"). However, JUnit fails with an exception saying the connection refused on an IP address other than the one of my client machine.
(I'm manually inserting an extra space in the URLs to avoid stackoverflow blocking the post because of bad URLs).
Starting http://192.168.1.234:46278/org.me.MyProject.JUnit/junit-standards.html?gwt.codesvr=192.168.1.234:46971 on browser FF3
logging for HtmlUnit thread
[ERROR] I/O error on HTTP request
org.apache.http.conn.HttpHostConnectException: Connection to http://192.168.1.234:46278 refused
My machine's IP address is 192.168.1.3. I have no clue from where eclipse got the other IP. Where does eclipse get the erronous address and how can I change it, preferably to 127.0.0.1?
The answer to the above question was that there was a malconfigured DNS server involved. Eclipse read the hostname of the machine and resolved it to the wrong IP number.

Swing Client - EJB2 lookup over HTTP in JBoss 5.1

I have a swing client which connects to my ejb2 application deployed in JBoss 5.1. There is a particular requirement from Customer to make it available on internet.
The deployment architecture is as follows,
swing_client --> extranet_ip |firewall | --> iis7_machine --> jboss5.1_machine.
jndi properties in client is as follows
Context.PROVIDER_URL=http://extranet_ip:9180/invoker/JNDIFactory
Context.INITIAL_CONTEXT_FACTORY=org.jboss.naming.HttpNamingContextFactory
This configuration works fine when the client is inside intranet. But it does not work in internet (extranet).
When I tried initially I got the error 'Connection refused'
After seeing some posts in various forums, I changed the file server\deploy\http-invoker.sar\META-INF\jboss-service.xml, to reflect the extranet_ip in invokerURL.
Aftet this I am getting the following error.
org.jboss.remoting.CannotConnectException: Can not get connection to server. Problem establishing socket connection for InvokerLocator [socket://10.200.1.193:4546/?dataType=invocation&enableTcpNoDelay=true&marshaller=org.jboss.invocation.unified.marshall.InvocationMarshaller&unmarshaller=org.jboss.invocation.unified.marshall.InvocationUnMarshaller]
Where 10.200.1.193 is the intranet IP address of JBoss Server machine.
I tried changing the trasport parameter in remoting-jboss-beans.xml to http, but at that time client is not working in both intranet and extranet.
Please anybody suggest a way forward for this issue. Or is there any other way to implement RMI over Http in JBoss?
Update: As a solution, I had to change my deployment architecture as follows.
swing_client --> extranet_ip |firewall | --> jboss5.1_machine
where the JBoss Application Server will be directly exposed through firewall. Then update clientConnectAddress in the remoting-jboss-beans.xml to the extranet IP. Also open the ports 8080 & 4446 in the firewall for this address.
This way the swing client is working if I use the jnid properties as follows.
Context.PROVIDER_URL : http://extranet_ip:8080/invoker/JNDIFactory
Context.INITIAL_CONTEXT_FACTORY : org.jboss.naming.HttpNamingContextFactory
But still looking for a solution where there is no need to open any non-standard ports and no need to expose the Application Server directly.
After a long struggle I found a solution for my issue. The solution was to change EJB container's invoker type to http in standardjboss.xml. When the invoker is http, it will use the settings in http-invoker.sar for remote binding.