How to get the WSDL url of application deployed with SOAP Input node in IIB? - ibm-integration-bus

I am deploying an application in IIB with SOAPInput and reply. Created the message flow by dragging the wsdl into canvas.I have binding in wsdl as "http://localhost:7801/cap/testService" but when I am trying to hit this URL after deployment, its unable to connect. So my question is how to get the server IP, port after deployment of webservice to form a application path URL to be accessed from SOAP UI
Thanks for your time.
Krishna

On the Soap input node, you can configure the endpoint, for example :
/myWebservice/helloworld
Then, on the integration server (formely execution group), you have to define a http(s) port, one is given by default and you can get it from this command :
mqsireportproperties "yourIIB" -e "yourIntegrationSever" -b httplistener -o HTTP(S)Connector -n port
/!\ Not tested, I don't have an IIB installed on my current laptop, might need to add/remove a few params, and of course you have to chose between HTTPConnector and HTTPSConntector
Then the final URL to get your wsdl will be :
http(s)://"yourServer":"portRetrievedPreviously"/myWebservice/helloworld?wsdl
Note that the URL defined in your .wsdl file (the one you mentionned in your question) will be overriden to point to the endpoint corresponding to the url used to get the WSDL, example :
in WSDL : http://localhost:7801/cap/testService
WSDL retrieved at : http://myserver:8888/cap/testService?wsdl
The wsdl endpoint retrieve at this url will be changed to "http://myserver:8888/cap/testService" no matter what you have set in the WSDL initialy

Related

SpagoBI URL directly

I'm using this URL to go directly to my document in SpagoBI but it does not work:
http://localhost:8080/SpagoBI/servlet/AdapterHTTP?
PAGE=LoginPage&NEW_SESSION=TRUE&OBJECT_LABEL=DocumentName
It gives me the message that I should log in but i'm already logged in.
Download SpagoBIQbeEngine separately from Downloads page (http://forge.ow2.org/project/showfiles.php?group_id=204) and deploy war file to webapps folder of your SpagoBI installation.
Wait till Tomcat automatically deploys war file and refresh the page
Good luck
use url like one mentioned below
you need to pass username and password along with url
as you can see username and password is visible in URL for security
you can use intermediate servlet to build this url and then url.
http://localhost:8080/SpagoBI/servlet/AdapterHTTP?PAGE=LoginPage&NEW_SESSION=TRUE&OBJECT_LABEL=REPORT_NAME&userId=biadmin&password=biadmin
(only login)
if report contains filter u need to pass filter parameter as well in URL
please see url structure of GET method for better understanding for passing multiple parameters.
&PARAMETERS=report parameters
Hope this helps

CXF Duplicated URL

I'm generating web services using CXF, and deploying them in Websphere Application server. In the page that list the url's of WSDL the links to these WSDL's are appearing duplicated (with the host name an its IP).
Something like this:
http://host/Middlewarehttp://127.0.0.1/Middleware/service?wsdl
When I try to access to the WSDL directly (something like http://host/Middleware/service?wsdl) I can view the WSDL correctly.
¿Why the link is looking like that?
It was solved running mvn clean and redeploying.

Accessing a file in another server from GWT Client side

I have a file, sample.xml located at one web server. I want to access this file from a GWT application running at another server. I dont want to make RPC calls to the same server serving GWT application and access the required file on server side (like a proxy). I want to access the file directly from client side as my application is going to be hosted as static files in a web server.
Is there a way to do that?
Sure - you must issue a XHR (XmlHTTPRequest) from the browser, and then parse the data.
In GWT you can do it using the RequestBuilder class (see here).
Please note that some client side restrictions may apply (e.g. Single Origin Policy etc.)
You issue the request (GET or POST - GET in your case) and pass a callback instance.
The instance's onResponseReceived method receives a Response object, which by calling its getText method returns the received contents.
You're trying to have your website (a.com/index.html) reference b.com/sample.xml. I see a few options.
If you have access to b.com's servers:
Edit sample.xml into sample.js to contain the same information in JSON with a callback, and reference it with a script tag
Compile your website using the cross-site loader (see Controlling Compiler Output), put your index.html at b.com/index.html, put all the rest of your files on a.com. Then all your RPC calls can go to b.com, but this means the user would have to navigate to b.com instead of a.com
If you don't have access to b.com's servers:
- Simply provide a link for people to download sample.xml
- Host a.com on a server with some kind of script support (PHP, Python, Ruby, Java, anything) and put a proxy to b.com/sample.xml

How to setup suffix proxy server

Can anyone guide me for setting up suffix proxy server , so that user can access some specific sites cached in our campus server without doing any configuration in their browsers.
by suffix proxy i mean that if user wants to open http: //en.wikipedia.org/wiki/Proxy_server page then he should enter link:
http ://en.wikipedia.org.CAMPUSPROXY.NET/wiki/Proxy_server (where campusproxy.net is our proxy server) and this requested page can be retrived from our proxy server in place of wikipedia.org
It's a redirect really - your server needs to have a url check that will catch the prefix portion of the url and for this you obviously need unlimited prefix's available from the registered domain URI then it just reforms the uri of the prefix makes the request for the page and then presents it as content to the user - normally you'll also inject a banner at the top of the page also.
so it goes
User - http-get en.wikipedia.org.CAMPUSPROXY.NET/wiki/Proxy_server
your server takes this and creates "en.wikipedia.org/wiki/Proxy_server" via a script or what have you.
CAMPUSPROXY.NET http-get en.wikipedia.org/wiki/Proxy_server
inject the banner code into the webpage via a script or what have you.
probably also modify the html tags and headers to include your prefix proxy info
some knowledge of python - perl or whatever is all you need together with apache or similar server, their are of course scripts out there already but if you do that you'll learn nothing.

How can I get started using a WSDL file with Visual Studio it's in the root of the project instead of being hosted on the internet somewhere

I've been tasked when integrating a web form into Oracle CRM on Demand (Siebel) using web services. I've been given the WSDL, and some high level documentation from Oracle.
Well, I knew I was in trouble when I tried to add the WSDL as Web Reference and I was asked to enter an URL. I have the WSDL file in the root of the project, but I have no idea how to link to it.
So, I guess that means I need to learn up on web services using C# and Visual Studio. I have a Safari Books Online account, so I can look up most anything.
It's been a while, but I'm OK at the form part. I just need help connecting and using the web service.
Edit #1: Ok, to clarify my question: I am well aware on how to use web services in general. My specific question is how take this WSDL file and do something with it. If the WSDL was hosted somewhere else, I could just add it as a Web Reference. But, I have the file in the project itself and that is what I am having problems with.
The web reference asks for a URL but you can point it to a local file. Just paste the local file path of your WSDL in and it should work.
Further Clarification of Web Reference URL vs URL to access Web Service
Web Reference URL is used to generate and update wrapper classes for WSDL/Web Service. It is not the URL used at runtime to access Web Service.
URL property on generated wrapper classes is used to access actual web service at runtime.
Update:
It should add a path in the web.config or app.config/settings file (Depending on your project type) similiar to the following:
<setting name="Namespace_WebReferenceName" serializeAs="String">
<value>XXX</value>
</setting>
Which should map to a URL property in the generated web reference wrapper classes. You can modify the URL property programmatically to point wherever you want:
Dim shipService As ShipService = New ShipService() 'Initialize the service - where ShipService is the Generated WebReference Wrapper CLass
shipService.Url = ConfigurationSettings.AppSettings("FedExOnlineURL")

Resources