C Sharp client - OpenKM 5.1
From OpenKM Documentation
.Net framework comes with wsdl.exe utility ( possible it's not in your default path)
Create separated webservice
wsdl.exe http://localhost:8080/OpenKM/OKMAuth?wsdl /out:OKMAuthService.cs
Create all webservices in one library package
Create file called openkm.wsdl with contents:
<wsdlParameters xmlns="http://microsoft.com/webReference/">
<nologo>true</nologo>
<parsableerrors>true</parsableerrors>
<sharetypes>true</sharetypes>
<documents>
<document>http://localhost:8080/OpenKM/OKMAuth?wsdl</document>
<document>http://localhost:8080/OpenKM/OKMBookmark?wsdl</document>
<document>http://localhost:8080/OpenKM/OKMDocument?wsdl</document>
<document>http://localhost:8080/OpenKM/OKMFolder?wsdl</document>
<document>http://localhost:8080/OpenKM/OKMMail?wsdl</document>
<document>http://localhost:8080/OpenKM/OKMNote?wsdl</document>
<document>http://localhost:8080/OpenKM/OKMNotification?wsdl</document>
<document>http://localhost:8080/OpenKM/OKMProperty?wsdl</document>
<document>http://localhost:8080/OpenKM/OKMPropertyGroup?wsdl</document>
<document>http://localhost:8080/OpenKM/OKMRepository?wsdl</document>
<document>http://localhost:8080/OpenKM/OKMSearch?wsdl</document>
<document>http://localhost:8080/OpenKM/OKMWorkflow?wsdl</document>
</documents>
<webReferenceOptions>
<verbose>false</verbose>
<codeGenerationOptions>properties newAsync enableDataBinding</codeGenerationOptions>
<style>client</style>
</webReferenceOptions>
</wsdlParameters>
Execute from windows terminal the command:
wsdl.exe /par:openkm.wsdl /out:OKMWebservice.cs /n:OpenKM.ws
If you need a class for VB.net you have to change the command to:
wsdl.exe /l:VB /par:openkm.wsdl /out:OKMWebservice.vb /n:OpenKM.ws
That will generate a OKMWebservice.cs or OKMWebservice.vb with namespace OpenKM.ws. For more information about wsdl.exe options refer to http://msdn.microsoft.com/en-us/library/7h3ystb6%28v=vs.80%29.aspx
Suggested changes in generated classes
Pay attention in public OKMAuthService class ( like others ), it'll be generated some OKMAuthService() constructor that you shouldlike to change to take advantatge of host variable
public OKMAuthService() {
this.Url = http://127.0.0.1:8080/OpenKM/OKMAuth;
}
change to (or create another method with this parameter):
public OKMAuthService(String host) {
this.Url = host+"/OKMAuth";
}