C Sharp client - OpenKM 6.2
From OpenKM Documentation
Revision as of 11:58, 22 June 2012 by Pavila (talk | contribs) (→Suggested changes in generated classes)
.Net framework comes with wsdl.exe utility ( possible it's not in your default path)
Create separated webservice
wsdl.exe http://localhost:8080/OpenKM/services/OKMAuth?wsdl /out:AuthService.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/services/OKMAuth?wsdl</document>
<document>http://localhost:8080/OpenKM/services/OKMBookmark?wsdl</document>
<document>http://localhost:8080/OpenKM/services/OKMDocument?wsdl</document>
<document>http://localhost:8080/OpenKM/services/OKMFolder?wsdl</document>
<document>http://localhost:8080/OpenKM/services/OKMMail?wsdl</document>
<document>http://localhost:8080/OpenKM/services/OKMNote?wsdl</document>
<document>http://localhost:8080/OpenKM/services/OKMNotification?wsdl</document>
<document>http://localhost:8080/OpenKM/services/OKMPropertyGroup?wsdl</document>
<document>http://localhost:8080/OpenKM/services/OKMProperty?wsdl</document>
<document>http://localhost:8080/OpenKM/services/OKMRepository?wsdl</document>
<document>http://localhost:8080/OpenKM/services/OKMSearch?wsdl</document>
<document>http://localhost:8080/OpenKM/services/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:Webservice.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:Webservice.vb /n:OpenKM.ws
That will generate a Webservice.cs or Webservice.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 AuthService class ( like others ), it'll be generated some AuthService() constructor that you shouldlike to change to take advantatge of host variable
public AuthService() {
this.Url = http://127.0.0.1:8080/OpenKM/services/OKMAuth;
}
change to (or create another method with this parameter):
public AuthService(String host) {
this.Url = host + "/OKMAuth";
}