I am trying to connect an Epic medical system using its Interconnect Web Service offering which exposes some simple SOAP endpoints. http://userweb.epic.com gives very little information other than a list of services and some sample XML.
I managed to get at a test wsdl and using SoapUI made a test call with no luck.
The Interconnect status page says all is well and that the service is available.
So my questions are
(i) How do I get to dynamically generated wsdls for services?
(ii) What is the URL endpoint for services. Sending the SOAP XML request to http://xxxxxxxxx/Interconnect-Test/ fails.
Here is my test XML request which should just add 2 numbers on the server.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:epicsystems-com:Interconnect.2004-05.Services.Diagnostics">
<soapenv:Header/>
<soapenv:Body>
<urn:AddRemote>
<urn:int1>1</urn:int1>
<urn:int2>2</urn:int2>
</urn:AddRemote>
</soapenv:Body>
</soapenv:Envelope>
So the magic seems to be that you need to have "Config Editor" installed on the Interconnect server and then enable "Developer View".
The status view now has a developer link on the top right side. Clicking on that gives the Web Services info and access to wsdl's. Some services also offer REST as well as SOAP.
The wsdl's are badly formed and you will need to add a service tag to get it to work in something like java's wsimport.
Related
As the title states, when I send a request from soapUI to an SAP web service I am returned with an XML that contains a "401 Nicht autorisiert" error message in it. Since it is an SAP web service, I do have to input credentials when I create the new project, but those are the only credentials I have input before running the project.
With the same credentials, I am able to create a request and not receive an error message when I use the Postman interface.
Could this be an issue with the web service configuration, or is this an authorization issue with soapUI?
Links to images:
SoapUI: https://imgur.com/2ZOBMgZ
Postman: https://imgur.com/M1SOCgG
From your images it looks like the Authorization: Basic... header is not being sent as part of your HTTP request out of soapUI and I assume your service doesn't challenge for the credentials in a way that soapUI understands.
One way around this is to click the Authenticate pre-emptively radio button on the basic authorization dialog box. This will construct and send the header the same way as Postman.
I am trying to test wso2 if I can turn my soap to rest api. I follow the tutorial on youtube video call "Creating a REST API with a SOAP Back end with WSO2 API Manager". First I give full working wsdl link and I test it and get information that my wsdl is valid. But in API definition I couldnt see all my operation POST. But I continue to follow the video and subscribe my work. But I couldnt work or delete my work on store becuse I keep getting "How can I delete API as active subscriptions?" eror. How can I delete my api from active subscriptions?
Update:
The content the WSDL is saved as a resource in the /system/governance/apimgt/applicationdata/wsdls registry location. API artifacts have a dependency to this resource. Its original service address is reset to the API Gateway's address to prevent direct calls to the service endpoint. The registry permalink of the WSDL resource is shown in the API Store and users can download and create a service out of it.
How can I download and create a service my self?
Update:
In the API Subscribe secon on below under the POST I get this information, why XML cannot be generated?
<?xml version="1.0" encoding="UTF-8"?>
<!-- XML example cannot be generated -->
Is there a way of creating an WSDL custom header with the auto-discovery function zend-soap server? Or an other alternative way of managing such a request on the soap server?
I need to process a request coming from an ESB proxy containing a soapenv:header like this one:
<soapenv:Header>
<esb:header>
<esb:message_type>AddNewOrder</esb:message_type>
<esb:version>01.80</esb:version>
<esb:source_entity>LPRO</esb:source_entity>
<esb:source_application>NOLS</esb:source_application>
<esb:destination_entity>LPRO</esb:destination_entity>
<esb:destination_application>TIRE</esb:destination_application><esb:message_id>414d51204750455342333332202020201581675c22c0e127</esb:message_id><esb:correl_message_id>414d51204750455342333332202020201581675c22c13403</esb:correl_message_id><esb:message_id>X'414d51204750455342333332202020201581675c22c13403'</esb:message_id>
</esb:header>
I make a jmeter project that allows to test performance for a web service. I extract from my bdd the soap request and i store all the data in a file (xml). I created the project jmeter and specify the file. I noticed that the project jmeter send all the data and the web service execute just one soap request. So, i want to know if it is possible and how to specify to jmeter to send one by one the data from the file.
EDIT
Exemple in the file:
<soapenv:Envelope xmlns:soapenv="" xmlns:typ="">
<soapenv:Header/>
<soapenv:Body>
<typ:annonce>
data
</typ:annonce>
</soapenv:Body>
</soapenv:Envelope>
<soapenv:Envelope xmlns:soapenv="" xmlns:typ="">
<soapenv:Header/>
<soapenv:Body>
<typ:annonce>
data
</typ:annonce>
</soapenv:Body>
</soapenv:Envelope>
So, in my file i have two soap requests. JMETER sends the entire file, so my web service execute only the first soap request.
I want that JMETER sends the first soap and after the second.
It is possible to do this ?
You can use __FileToString() function like:
${__FileToString(/path/to/your/file.xml,,)}
Directly in your HTTP Request sampler body like:
The function will be evaluated when the sampler will be executed so JMeter will pick up the file and send it as the request body.
See Apache JMeter Functions - An Introduction article for more information on JMeter Functions concept.
I am trying to connect WSO2 Identity Server to the WSO2 ESB. I have installed both products to my local computer and have configured them to run simultaneously. WSO2-IS has an offset of 1 and I set hostnameverifier to AllowAll. Given that both are on my local machine, I did not see the need to adjust or set anything in the Keystore. In WSO2-IS I have exposed the admin-wsdl's.
What I am trying to do is create an endpoint wsdl that points to
https://localhost:9444/services/UserInformationRecoveryService?wsdl (which is in the WSO2-IS).
In the admin console, I add the endpoint with the variables
1. The Name is UserInformationRecoveryService
2. The URI is https://localhost:9444/services/UserInformationRecoveryService?wsdl
3. The Service is UserInformationRecoveryService
4. The port is 9444 (which is the offset from 9443)
When I test this service, it says it is valid. When I add it, it disappears and I get the errors:
[2015-01-16 17:59:20,923] ERROR - WSDL11EndpointBuilder Couldn't retrieve endpoint information from the WSDL.
[2015-01-16 17:59:20,924] ERROR - WSDLEndpointFactory Couldn't create endpoint from the given WSDL URI : Couldn't retrieve endpoint information from the WSDL.
org.apache.synapse.SynapseException: Couldn't retrieve endpoint information from the WSDL.
at org.apache.synapse.config.xml.endpoints.utils.WSDL11EndpointBuilder.handleException(WSDL11EndpointBuilder.java:199)
... (I removed many of the other at's)
I also tried adding it as a wsdl proxy, but receive the error
Couldn't create endpoint from the given WSDL URI : Couldn't retrieve endpoint information from the WSDL.
and the errors:
[2015-01-16 18:06:49,890] ERROR - ProxyServiceAdminClient Couldn't create endpoint from the given WSDL URI : Couldn't retrieve endpoint information from the WSDL.
org.wso2.carbon.proxyadmin.stub.ProxyServiceAdminProxyAdminException: Couldn't create endpoint from the given WSDL URI : Couldn't retrieve endpoint information from the WSDL.
at org.wso2.carbon.proxyadmin.ui.client.ProxyServiceAdminClient.addProxy(ProxyServiceAdminClient.java:105)
at org.apache.jsp.proxyservices.template_005fwsdl_002dbased_jsp._jspService(org.apache.jsp.proxyservices.template_005fwsdl_002dbased_jsp:343)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
I am relatively new to the WSO2 suite, and have been unable to find many discussions on these two products working together.
From what I have read, WSO2-IS uses SOAP. The client that we are developing will be using REST. The ESB is to connect the client to WSO2-IS and convert SOAP-TO-REST.
My question is
1. Why do I receive these errors?
2. What is the best practice to connect the two services.
Thank you.
Enable option in carbon.xml and try your wsdl link in a browser and see whether you can access it or not.(All admin services's wsdls are hided) Later try to create proxy.
After more reading, I found that I was using the wrong port name. I was assuming the port was 9444, but having reread the wsdl again, I found that the ports were called
wsdl:port name="UserInformationRecoveryServiceHttpsSoap11Endpoint"
wsdl:port name="UserInformationRecoveryServiceHttpsSoap12Endpoint"
wsdl:port name="UserInformationRecoveryServiceHttpsEndpoint"