I am writing a service with node.js' node-soap package. The service seem to run okay when I do "node myService.js". Now, how do I get the url that would be given to the client? If you want my wsdl file, "myservice.wsdl" as per the code below please let me know. here is my code
var http = require('http');
var soap = require('soap');
var express = require('express');
var bodyParser = require('body-parser');
var myService = {
MyService: {
MyPort: {
post_csvDoc: function(csvDoc) {
return 200;
},
post_jsonDoc: function(csvDoc) {
return 200;
},
post_pdfDoc: function(csvDoc) {
return 200;
},
get_csvDoc: function(month) {
return "FirstDoc";
},
get_jsonDoc: function(month) {
return "SecondDoc";
},
get_pdfDoc: function(month) {
return "ThirdDoc";
},
}
}
};
var xml = require('fs').readFileSync('myservice.wsdl', 'utf8');
//http server example
var server = http.createServer(function(request,response) {
response.end('404: Not Found: ' + request.url);
});
server.listen(8000);
soap.listen(server, '/wsdl', myService, xml);
//express server example
var app = express();
//body parser middleware are supported (optional)
app.use(bodyParser.raw({type: function(){return true;}, limit: '5mb'}));
app.listen(8001, function(){
//Note: /wsdl route will be handled by soap module
//and all other routes & middleware will continue to work
soap.listen(app, '/wsdl', myService, xml);
});
This is the error I get when I enter path when I try http://127.0.0.1:8001/wsdl?wsdl:
Sorry I did not refresh stack overflow and as such did not see your request for the wsdl. Below the wsdl:
<!--
Bramron
2018-06-23
let you post/retrieve online documents by SOAP protocol
Online WSDL 1.1 SOAP generator 0.2
Julien Blitte
--><definitions name="let you post/retrieve online documents by SOAP
protocol"
targetNamespace="bramron.group.company.project.plateform.documentservice.wsdl"><!--
definition of datatypes --> <types><schema
targetNamespace="bramron.group.company.project.plateform.documentservice.xsd"><element
name="csvDoc"><complexType><all><element name="value"
type="string"/></all></complexType></element><element
name="jsonDoc"><complexType><all><element name="value"
type="string"/></all></complexType></element><element
name="pdfDoc"><complexType><all><element name="value"
type="string"/></all></complexType></element><element
name="returnCode"><complexType><all><element name="value"
type="int"/></all></complexType></element><element
name="month"><complexType><all><element name="value"
type="int"/></all></complexType></element></schema></types><!--
response messages --> <message name="returns_returnCode"><part
name="returnCode" type="xsd:returnCode"/></message><message
name="returns_csvDoc"><part name="csvDoc"
type="xsd:csvDoc"/></message><message name="returns_jsonDoc"><part
name="jsonDoc" type="xsd:jsonDoc"/></message><message
name="returns_pdfDoc"><part name="pdfDoc"
type="xsd:pdfDoc"/></message><!-- request messages --> <message
name="post_csvDoc"><part name="csvDoc"
type="xsd:csvDoc"/></message><message name="post_jsonDoc"><part
name="jsonDoc" type="xsd:jsonDoc"/></message><message
name="post_pdfDoc"><part name="pdfDoc"
type="xsd:pdfDoc"/></message><message name="get_csvDoc"><part
name="month" type="xsd:month"/></message><message
name="get_jsonDoc"><part name="month"
type="xsd:month"/></message><message name="get_pdfDoc"><part
name="month" type="xsd:month"/></message><!-- server's services -->
<portType name="Document"><operation name="post_csvDoc"><input
message="tns:post_csvDoc"/><output
message="tns:returns_returnCode"/></operation><operation
name="post_jsonDoc"><input message="tns:post_jsonDoc"/><output
message="tns:returns_returnCode"/></operation><operation
name="post_pdfDoc"><input message="tns:post_pdfDoc"/><output
message="tns:returns_returnCode"/></operation><operation
name="get_csvDoc"><input message="tns:get_csvDoc"/><output
message="tns:returns_csvDoc"/></operation><operation
name="get_jsonDoc"><input message="tns:get_jsonDoc"/><output
message="tns:returns_jsonDoc"/></operation><operation
name="get_pdfDoc"><input message="tns:get_pdfDoc"/><output
message="tns:returns_pdfDoc"/></operation></portType><!-- server
encoding --> <binding name="Document_webservices"
type="tns:Document"><soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/><operation
name="post_csvDoc"><soap:operation
soapAction="urn:xmethods-delayed-quotes#post_csvDoc"/><input><soap:body
use="encoded" namespace="urn:xmethods-delayed-quotes"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input><output><soap:body
use="encoded" namespace="urn:xmethods-delayed-quotes"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output></operation><operation
name="post_jsonDoc"><soap:operation
soapAction="urn:xmethods-delayed-quotes#post_jsonDoc"/><input><soap:body
use="encoded" namespace="urn:xmethods-delayed-quotes"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input><output><soap:body
use="encoded" namespace="urn:xmethods-delayed-quotes"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output></operation><operation
name="post_pdfDoc"><soap:operation
soapAction="urn:xmethods-delayed-quotes#post_pdfDoc"/><input><soap:body
use="encoded" namespace="urn:xmethods-delayed-quotes"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input><output><soap:body
use="encoded" namespace="urn:xmethods-delayed-quotes"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output></operation><operation
name="get_csvDoc"><soap:operation
soapAction="urn:xmethods-delayed-quotes#get_csvDoc"/><input><soap:body
use="encoded" namespace="urn:xmethods-delayed-quotes"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input><output><soap:body
use="encoded" namespace="urn:xmethods-delayed-quotes"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output></operation><operation
name="get_jsonDoc"><soap:operation
soapAction="urn:xmethods-delayed-quotes#get_jsonDoc"/><input><soap:body
use="encoded" namespace="urn:xmethods-delayed-quotes"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input><output><soap:body
use="encoded" namespace="urn:xmethods-delayed-quotes"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output></operation><operation
name="get_pdfDoc"><soap:operation
soapAction="urn:xmethods-delayed-quotes#get_pdfDoc"/><input><soap:body
use="encoded" namespace="urn:xmethods-delayed-quotes"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input><output><soap:body
use="encoded" namespace="urn:xmethods-delayed-quotes"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output></operation></binding><!--
access to service provider --> <service name="production"><port
name="production_0" binding="Document_webservices"><soap:address
location="http://127.0.0.1:8000/document_soap/endpoint1"/></port><port
name="production_1" binding="Document_webservices"><soap:address
location="http://127.0.0.1:8000/document_soap/endpoint2"/></port></service></definitions>
Summary: for anyone who is interested, the answer to this question is:
Your service URL will be http://your-domain:8000/wsdl. If you're running locally this will be http://localhost:8000/wsdl, since in this case you've set your port number to 8000. In this case you've actually got two servers running as well so you'll have prot 8001 as well!