WSDL not working

Hi

I have written a WSDL file and tested it and it is not working.

I do not know what I have left out or entered wrongly. It is valid and well formed, but not working!

All help and advice greatly appreciated.

Veb
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions name="check-policy" 
targetNamespace="http://homepages.feis.herts.ac.uk/~3com0109/cgi-bin/policy.cgi"
xmlns:tns="http://homepages.feis.herts.ac.uk/~3com0109/cgi-bin/policy.cgi" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
xmlns:xs="http://www.w3.org/2001/XMLSchema" 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" 
xmlns:ns="http://homepages.feis.herts.ac.uk/~3com0109/cgi-bin/policy.cgi"  
>
 
	<wsdl:types>
		<xs:schema targetNamespace="http://homepages.feis.herts.ac.uk/~3com0109/cgi-bin/policy.cgi" elementFormDefault="qualified"/>
	</wsdl:types>
	<wsdl:message name="check-policyRequest">
		<wsdl:part name="policycode" type="xs:string"/>
		<wsdl:part name="date" type="xs:string"/>
	</wsdl:message>
	<wsdl:message name="check-policyResponse">
		<wsdl:part name="price" type="xs:string"/>
	</wsdl:message>
	<wsdl:portType name="policy_PortType">
		<wsdl:operation name="check-policy">
			<wsdl:input message="tns:check-policyRequest"/>
			<wsdl:output message="tns:check-policyResponse"/>
		</wsdl:operation>
	</wsdl:portType>
	<wsdl:binding name="policy_Binding" type="tns:policy_PortType">
		<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
		<wsdl:operation name="check-policy">
			<soap:operation soapAction="check-policy"/>
			<wsdl:input>
				<soap:body use="literal"/>
			</wsdl:input>
			<wsdl:output>
				<soap:body use="literal"/>
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:service name="check-policy">
		<wsdl:port name="policy_Port" binding="tns:policy_Binding">
			<soap:address location="http://homepages.feis.herts.ac.uk/~3com0109/cgi-bin/policy.cgi"/>
		</wsdl:port>
	</wsdl:service>
</wsdl:definitions>

Open in new window

vebramAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

cwichoskiCommented:
hi,

what or where is not working? dont work in your tool? what tool? or the call of WS dont work? you can explain with more detail what is not working?
0
vebramAuthor Commented:
Hi

I am testing it through

 http://soapclient.com/soaptest.html  
 
and getting the error report:

Error parsing the WSDL file: C:\Documents and Settings\Home PC\My Documents\UH\PAWS unit\Assignmnet 3\q3.1.1.wsdl Error retrieving WSDL file at C:\Documents and Settings\Home PC\My Documents\UH\PAWS unit\Assignmnet 3\q3.1.1.wsdl

I am expecting to be prompted for two pieces of information: policycode and date and then receive one response: price. I am new to this and don't know what it is that I have done wrong.

thanks for your help

Veb
0
cwichoskiCommented:
Hi,

you must type an URL to your WSDL file on field "WSDL File Address:", something like http://homepages.feis.herts.ac.uk/~3com0109/q3.1.1.wsdl, the error occurs because you put a local file and the Generic SOAP Client needs a remote file.

i hope this helps
0
Cloud Class® Course: CompTIA Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

vebramAuthor Commented:
Hi

Can I clarify what you mean: when I enter the file location in the soapclient field it must be a remote address but still to the actual file I have?

Therefore I have to store my file on a server somewhere to test it?

thanks

Veb
0
cwichoskiCommented:
hi, vebram

to test using the soapclient you must use a URL to your WSDL file, not a reference to a file in your hard disk, like C:\someFolder\someDir, you must type something like http://yourdomain.com/yourWSDLfile.wsdl and this must be on-line, because  http://soapclient.com/soaptest.html get this file, parse the file at server-side then show the test page.

i hope to be more clearly now.
0
vebramAuthor Commented:
Hi

That did not help, I think there is something wrong with my code but I don't know what.

Veb
0
vebramAuthor Commented:
Hi again,

when I run this i get the message:

invalid WSDL file no definition found

Can someone explain what is meant be definition please
0
cwichoskiCommented:
hi, you can put here the URL for your WSDL file?
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
vebramAuthor Commented:
Thanks for the help, it got me a bit further on but I still haven't solved my problem
0
SkwarkyCommented:
can someone help on this solution please?
0
mysti77Commented:
Hi,

I'm also doing this and have the same error "nvalid WSDL file, no definition found".  when testing my WSDL file using http://www.soapclient.com/soaptest.html

I'm not sure what this means, not a very helpful message
<?xml version="1.0" encoding="UTF-8"?>
 
<definitions name="StockLevel"
	targetNamespace="urn:CheckStockLevel"
	xmlns="http://schemas.xmlsoap.org/wsdl/"
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
	xmlns:tns="urn:CheckStockLevel"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 
 
 
<!--Input message for the service-->
	<message name="CheckStockLevel_Request">
		<part name="productCode" type="xsd:string"/>
		<part name="Date" type="xsd:date"/>
	</message>
	
<!--Output message for the service-->	
	<message name="CheckStockLevel_Response">
		<part name="quantity" type="xsd:integer"/>
 
	</message>
 
<portType name="CheckStockLevel_PortType">
		<operation name="CheckStockLevel">
			<input message="tns:checkStockLevel_Request"/>
			<output message="tns:checkStockLevel_Response"/>
		</operation>
	</portType>
	
<binding name="checkStockLevel_Binding">
		<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="checkStockLevelService">
			<soap:operation soapAction="checkStockLevelService"/>
			<input>
				<soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:Example1:stock"/>
			</input>
			<output>
				<soap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:Example1:stock"/>
			</output>
		</operation>
	</binding>
	
<service name="checkStockLevel_Service">
		<documentation>WSDL File for checking Stocl Levels</documentation>
		<port name="checkStockLevel_PortType" binding="checkStockLevel_Binding">
			<soap:address location="http://homepages.feis.herts.ac.uk/~3com0135/cgi-bin/stock.cgi"/>
		</port>
	</service>
 
</definitions>

Open in new window

0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
XML

From novice to tech pro — start learning today.