Tomcat : SSL : Webservices : Client + Server on the same Tomcat Instance - web-services

We have 2 applications on one Tomcat server. Say Application A and B. A uses web services that B offers for data processing.
Do we still need to set up a TrustStore or add the public key to the cacerts available on the JVM tomcat is using?

Related

limit access of webservice to localhost using jetty 9 configuration

I am using jetty 9 to run my web app. Basically, there is a web app( abc) which runs on port 8443.This webapp abc.war is deployed in jetty 9 server.
Now,there was a requirement to come up with a new web service(say xyzWebService). This new web service runs in the same jetty server as above.We actually created xyzWebService.jar and added it to the abc.war.(lib folder). Now, the problem is that this webservice should be accessed by local host clients only.But the war can be accessed by any client.
I thought of adding connector to jetty, and now my jetty listens on two ports. one is 8443 and another is 9797.But, i am not able to figure out a way , where in , say, I can restrict 9797 port for localhost web service clients only .
I actually explored adding below content to jetty-web.xml. Virtual hosts, according to my understanding, expects both contexts to be a separate web app. But in our case, webservice is a jar and part of the abc webapp.
127.0.0.1
localhost
www.acme.com
PS: i CANNOT expose my WebService as a war ,because this webservice and "abc" app shares some singleton classes.
Please let me know what can be done. I want to take a configuration approach.

JMETER: how to exclude proxy

I've a web service built on WSO02 that run in a virtual machine running on my laptop.
My laptop IP: 10.118.xx.yyy
My web service wsdl: http://192.168.zz.kkk/wso001/services/OperCupPrepareProxy?wsdl (NOTE: 192.168.29.128 is the IP of my WSO2 ESB on my virtual machine)
I can invoke my web service using SOAP UI running directly on my laptop (i.e NOT running in the virtual machine ...), with NO proxy setting and all it's working right
Now I'd like to test my web service using JMeter running directly on my laptop (i.e NOT running in the virtual machine ...), and invoking the web service that run inside the virtual machine with WSO2.
JMETER respond ....
Response code: 500
Response message: Internal Server Error
<faultstring>The endpoint reference (EPR) for the Operation not found is /wso001/services/OperCupPrepareService?wsdl and the WSA Action = null. If this EPR was previously reachable, please contact the server administrator.</faultstring>
How can I set my JMETER to invoke my web service?
Thank in advance
Cesare

SharePoint online remote event receivers without Azure Service bus connector

I want my SP 2013 cloud app (office 365) to connect to my on premises WCF services. Visual Studio gives templates to create provider hosted apps for this purpose. However, that requires Windows Azure service bus connector that helps the app connect to WCF. Since I have a static IP, I want to get this done without the connector.
I attempted this by implementing IRemoteEventService in a new WCF with wsHTTPBinding with security as none. This is running on static IP machine with all connections allowed on the port where this service is listening. I was able to call this service from my test WCF client over the internet.
Now in my app, I changed my end point to this WCF service. When app installs it tries to call this end point to deliver the app install event. However, it gives error that end point is not available or there is a soap error.
Please provide pointers on what changes are required in WCF configuration to receive calls from SharePoint. Thanks.

Identifying dynamic host and port for ATG Web Service created through Create Web Service Wizard

I am using ATG 10.2 with Weblogic server. I have created a Repository web service (getRepositoryItem) using the Web Services Wizard through dyn admin. I left the host and port empty during the EAR creation. My service is up with the EAR now, but according to the documentation for ATG web services, it says the host and port would be provided on run time. I have not provided any security setting for the webservice but it shows me a 403 if I try to hit the context for the servlet for the service.
I am struggling to access the web service. In the Manage Web services through dyn admin I see my WebApp deployed. But its Instance Running and Registered is displayed as false.
Documentation tells that if the service has been executed Instance Running and Registered displays as true.
Could somebody please help in answering, How to access the web service?
You can use the url as follows it will work. I just had to use the name twice.
http://host:port/serviceName/serviceName?WSDL

mule versioning on web service

I have the same mule webservice application with 2 different versions deployed on the same mule server. Let's call it MuleApp.1.0 and MuleApp.1.1. The flow is as simple as the example of webservice flow on mulesoft website. Their wsdl urls are different as:
http://www.myhost.com:25101/MuleApp.1.0/Service?wsdl
http://www.myhost.com:25101/MuleApp.1.1/Service?wsdl
Both of them are working as expected when the other is not deploying on the mule server. The issue happens when I having both of them deployed on the same mule server like what I used to do in WebLogic. Now I am able to access MuleApp.1.1, but when I tried to access MuleApp.1.0, I got the error as below
07-Mar-2013:14:52:57.142 VWILVM3667 [MuleApp.1.1].connector.http.mule.default.receiver.03
WARN org.mule.transport.http.HttpMessageReceiver NA
No receiver found with secondary lookup on connector: connector.http.mule.default with URI key: http://www.myhost.com:25101/MuleApp.1.0/Service
This is supposed to be a very common versionning case. What did I miss in my config?
You can't have two different applications sharing the same HTTP port in the same Mule instance.
So what probably happens is that MuleApp.1.0 doesn't deploy properly (check the logs), which is why there is no endpoint listening on /MuleApp.1.0.
Either:
Use a different port in the two apps,
Put both flows in a single app.
Create a frontal app that listens on port 25101 and both /MuleApp.1.0 and /MuleApp.1.1 paths and that dispatches requests to MuleApp.1.0 and MuleApp.1.1 on private ports (say 25102 and 25103).
I finally deployed my application on tomcat, and replaced http inbound endpoint with servlet inbound endpoint. I configure the web.xml with servlet class org.mule.transport.servlet.MuleReceiverServlet. Now I am able to deploy multiple applications on the same port.