472,958 Members | 2,414 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,958 software developers and data experts.

Generate c# proxy class from IBM websphere (AXIS) webservice WSDL.

Hi,

I am having problems with generating a c# proxy class from a IBM
websphere WSDL file, when running the wsdl.exe to create the c# proxy
file command i recieve an error:

Warning: one or more operations were skipped.
Warnings were encountered. Review generated source comments for more
details.

Writing file 'c:\proxyclass.cs'.

After reviewing the created proxyclass.cs i find that the following
error message:

// CODEGEN: The operation binding 'CustomerUpdate' from namespace
'http://www.mywebsite.com/webservices/wsdl/Service.wsdl' was ignored.
Missing soap:body input binding.

After many hours of searching through newsgroups i have reached the
conclusion that the following part of the WSDL file cannot be
interpered correctly:

<wsdl:input name="CustomerUpdateInput">
<mime:multipartRelated>
<mime:part>
<soap:body use="literal" part="customerupdate"/>
</mime:part>
<mime:part>
<mime:content part="customerupdatedata"
type="application/x-gzip"/>
</mime:part>
</mime:multipartRelated>
</wsdl:input>

This is apperently because .NET does not have support for MIME, but
only for DIME, as i have read in various newgroups, could be wrong (i
sure hope so :-))

Does anyone know if my assumption is correct or not and have anyone had
this problem before and solved it?

Have anyone of you had this problem before and know the solution, or
could point me in the right direction or something else related to this
issue i would be very grateful.

I include the WSDL file (i have changed service specific addresses to
protect the customer im working with.) And my generated proxy class.

Copy of the WSDL file:
---------------------------------
<?xml version="1.0" encoding="utf-8"?>

<wsdl:definitions name="Myname"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/"

xmlns:tns="http://www.customerwebsite.com/webservices/wsdl/webService.wsdl"

targetNamespace="http://www.customerwebsite.com/webservices/wsdl/webService.wsdl">

<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<xsd:complexType name="customerupdateType">
<xsd:all>
<xsd:element name="username" type="xsd:string" />
<xsd:element name="password" type="xsd:string" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="customerupdateResponseType">
<xsd:all>
<xsd:element name="statusmessage" type="xsd:string" />
<xsd:element name="statusdate" type="xsd:date" />
</xsd:all>
</xsd:complexType>
</xsd:schema>
</wsdl:types>

<wsdl:message name="CustomerUpdateIn">
<wsdl:part type="tns:customerupdateType" name="customerupdate"/>
<wsdl:part name="customerupdatedata" type="xsd:base64Binary"/>
</wsdl:message>

<wsdl:message name="CustomerUpdateOut">
<wsdl:part type="tns:customerupdateResponseType"
name="customerupdateresponse"/>
</wsdl:message>

<wsdl:message name="CustomerUpdateException">
<wsdl:part type="xsd:string" name="errormessage"/>
</wsdl:message>

<wsdl:portType name="CustomerUpdatePortType">
<wsdl:operation name="CustomerUpdate">
<wsdl:input name="CustomerUpdateInput"
message="tns:CustomerUpdateIn"/>
<wsdl:output name="CustomerUpdateOutput"
message="tns:CustomerUpdateOut"/>
<wsdl:fault name="CustomerUpdateFault"
message="tns:CustomerUpdateException"/>
</wsdl:operation>
</wsdl:portType>

<wsdl:binding name="CustomerUpdateBinding"
type="tns:CustomerUpdatePortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="CustomerUpdate">
<soap:operation
soapAction="http://www.customerwebsite.com/webservices/intern/update"/>
<wsdl:input name="CustomerUpdateInput">
<mime:multipartRelated>
<mime:part>
<soap:body use="literal" part="customerupdate"/>
</mime:part>
<mime:part>
<mime:content part="customerupdatedata"
type="application/x-gzip"/>
</mime:part>
</mime:multipartRelated>
</wsdl:input>
<wsdl:output name="CustomerUpdateOutput">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="CustomerUpdateFault">
<soap:fault name="CustomerUpdateFault" use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>

<wsdl:service name="CustomerUpdateService">
<wsdl:port name="CustomerUpdatePort"
binding="tns:CustomerUpdateBinding">
<soap:address
location="http://www.customerwebsite.com/webservices/customerupdate"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

Copy of the C# generated proxy class:
-------------------------------------
//
// This source code was auto-generated by wsdl, Version=1.1.4322.2032.
//
using System.Diagnostics;
using System.Xml.Serialization;
using System;
using System.Web.Services.Protocols;
using System.ComponentModel;
using System.Web.Services;
/// <remarks/>
// CODEGEN: The operation binding 'CustomerUpdate' from namespace
'http://www.customerwebsite.com/webservices/wsdl/webService.wsdl' was
ignored. Missing soap:body input binding.
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("c ode")]
[System.Web.Services.WebServiceBindingAttribute(Nam e="CustomerUpdateBinding",
Namespace="http://www.customerwebsite.com/webservices/wsdl/WebService.wsdl")]
public class CustomerUpdateService :
System.Web.Services.Protocols.SoapHttpClientProtoc ol {

/// <remarks/>
public CustomerUpdateService() {
this.Url =
"http://www.customerwebsite.com/webservices/customerupdate";
}
}

Sincerely,
Hans Sixhöj
Systems Developer
Microsoft Certified Solution Developer
Visma Consulting AB
ha*********@visma.se

Nov 12 '05 #1
1 9772
It's true, as you read, .NET does not do SwA or MIME.

-Dino
<ff******@hotmail.com> wrote in message
news:11*********************@l41g2000cwc.googlegro ups.com...
Hi,

I am having problems with generating a c# proxy class from a IBM
websphere WSDL file, when running the wsdl.exe to create the c# proxy
file command i recieve an error:

Warning: one or more operations were skipped.
Warnings were encountered. Review generated source comments for more
details.

Writing file 'c:\proxyclass.cs'.

After reviewing the created proxyclass.cs i find that the following
error message:

// CODEGEN: The operation binding 'CustomerUpdate' from namespace
'http://www.mywebsite.com/webservices/wsdl/Service.wsdl' was ignored.
Missing soap:body input binding.

After many hours of searching through newsgroups i have reached the
conclusion that the following part of the WSDL file cannot be
interpered correctly:

<wsdl:input name="CustomerUpdateInput">
<mime:multipartRelated>
<mime:part>
<soap:body use="literal" part="customerupdate"/>
</mime:part>
<mime:part>
<mime:content part="customerupdatedata"
type="application/x-gzip"/>
</mime:part>
</mime:multipartRelated>
</wsdl:input>

This is apperently because .NET does not have support for MIME, but
only for DIME, as i have read in various newgroups, could be wrong (i
sure hope so :-))

Does anyone know if my assumption is correct or not and have anyone had
this problem before and solved it?

Have anyone of you had this problem before and know the solution, or
could point me in the right direction or something else related to this
issue i would be very grateful.

I include the WSDL file (i have changed service specific addresses to
protect the customer im working with.) And my generated proxy class.

Copy of the WSDL file:
---------------------------------
<?xml version="1.0" encoding="utf-8"?>

<wsdl:definitions name="Myname"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/"

xmlns:tns="http://www.customerwebsite.com/webservices/wsdl/webService.wsdl"

targetNamespace="http://www.customerwebsite.com/webservices/wsdl/webService.wsdl">

<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<xsd:complexType name="customerupdateType">
<xsd:all>
<xsd:element name="username" type="xsd:string" />
<xsd:element name="password" type="xsd:string" />
</xsd:all>
</xsd:complexType>
<xsd:complexType name="customerupdateResponseType">
<xsd:all>
<xsd:element name="statusmessage" type="xsd:string" />
<xsd:element name="statusdate" type="xsd:date" />
</xsd:all>
</xsd:complexType>
</xsd:schema>
</wsdl:types>

<wsdl:message name="CustomerUpdateIn">
<wsdl:part type="tns:customerupdateType" name="customerupdate"/>
<wsdl:part name="customerupdatedata" type="xsd:base64Binary"/>
</wsdl:message>

<wsdl:message name="CustomerUpdateOut">
<wsdl:part type="tns:customerupdateResponseType"
name="customerupdateresponse"/>
</wsdl:message>

<wsdl:message name="CustomerUpdateException">
<wsdl:part type="xsd:string" name="errormessage"/>
</wsdl:message>

<wsdl:portType name="CustomerUpdatePortType">
<wsdl:operation name="CustomerUpdate">
<wsdl:input name="CustomerUpdateInput"
message="tns:CustomerUpdateIn"/>
<wsdl:output name="CustomerUpdateOutput"
message="tns:CustomerUpdateOut"/>
<wsdl:fault name="CustomerUpdateFault"
message="tns:CustomerUpdateException"/>
</wsdl:operation>
</wsdl:portType>

<wsdl:binding name="CustomerUpdateBinding"
type="tns:CustomerUpdatePortType">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="CustomerUpdate">
<soap:operation
soapAction="http://www.customerwebsite.com/webservices/intern/update"/>
<wsdl:input name="CustomerUpdateInput">
<mime:multipartRelated>
<mime:part>
<soap:body use="literal" part="customerupdate"/>
</mime:part>
<mime:part>
<mime:content part="customerupdatedata"
type="application/x-gzip"/>
</mime:part>
</mime:multipartRelated>
</wsdl:input>
<wsdl:output name="CustomerUpdateOutput">
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="CustomerUpdateFault">
<soap:fault name="CustomerUpdateFault" use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>

<wsdl:service name="CustomerUpdateService">
<wsdl:port name="CustomerUpdatePort"
binding="tns:CustomerUpdateBinding">
<soap:address
location="http://www.customerwebsite.com/webservices/customerupdate"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

Copy of the C# generated proxy class:
-------------------------------------
//
// This source code was auto-generated by wsdl, Version=1.1.4322.2032.
//
using System.Diagnostics;
using System.Xml.Serialization;
using System;
using System.Web.Services.Protocols;
using System.ComponentModel;
using System.Web.Services;
/// <remarks/>
// CODEGEN: The operation binding 'CustomerUpdate' from namespace
'http://www.customerwebsite.com/webservices/wsdl/webService.wsdl' was
ignored. Missing soap:body input binding.
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("c ode")]
[System.Web.Services.WebServiceBindingAttribute(Nam e="CustomerUpdateBinding",
Namespace="http://www.customerwebsite.com/webservices/wsdl/WebService.wsdl")]
public class CustomerUpdateService :
System.Web.Services.Protocols.SoapHttpClientProtoc ol {

/// <remarks/>
public CustomerUpdateService() {
this.Url =
"http://www.customerwebsite.com/webservices/customerupdate";
}
}

Sincerely,
Hans Sixhöj
Systems Developer
Microsoft Certified Solution Developer
Visma Consulting AB
ha*********@visma.se
Nov 12 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Ohad Young | last post by:
Hi, I have a webservice method that returns an instance of a custom class I created (e.g., bank account). The class definition in the webservice contains properties, overrides Object.ToString...
1
by: Dan A | last post by:
Why can't .NET generate stubs to correspond to the exceptions that are thrown by a webservice? The exceptions that are thrown by an API are just as importantant as the return objects, etc. ...
0
by: Peter Theill | last post by:
I have these two web services: namespace WebService1 { public class Service1 : System.Web.Services.WebService { public Service1() { } public string HelloWorld() {
9
by: MSDNAndi | last post by:
Hi, I have a set of simple webservices calls that worked fine using .NET Framework 1.0. I am calling a Java/Apache based webservices, the calling side is not able to supply a proper WSDL. ...
1
by: louis_la_brocante | last post by:
Dear all, I am having trouble generating a client proxy for a webservice whose methods return a "complex" type. The type is complex in that it is a class whose members are a mix of primitive...
0
by: Richard Gregory | last post by:
Hi, I have the wsdl below, for an Axis web service, and when I select Add Web Refernce in Visual Studio the proxy is missing a class representing the returnedElementsType (see reference.cs below...
5
by: ayaz.usman | last post by:
Hi, I've built a web services proxy server, in C# using wsdl.exe, by importing wsdl. Howeever, when I go to : http://localhost/sample.asmx?wsdl, they wsdl there does not match the wsdl I fed...
0
by: joymac | last post by:
How to create a proxy class for a webservice? I have a simple webservice ("Hello World") and I am trying to create a proxy class for this webservice using below command - wsdl /l:CS...
4
by: newtonwong | last post by:
I have a web reference WSDL, but it doesn't really create an XSD. I'm trying to generate datasets from the WSDL file but not sure how to do so. I successfully created the proxy class, but the...
0
by: lllomh | last post by:
Define the method first this.state = { buttonBackgroundColor: 'green', isBlinking: false, // A new status is added to identify whether the button is blinking or not } autoStart=()=>{
2
by: DJRhino | last post by:
Was curious if anyone else was having this same issue or not.... I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 4 Oct 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
by: Aliciasmith | last post by:
In an age dominated by smartphones, having a mobile app for your business is no longer an option; it's a necessity. Whether you're a startup or an established enterprise, finding the right mobile app...
4
NeoPa
by: NeoPa | last post by:
Hello everyone. I find myself stuck trying to find the VBA way to get Access to create a PDF of the currently-selected (and open) object (Form or Report). I know it can be done by selecting :...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 1 Nov 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM) Please note that the UK and Europe revert to winter time on...
3
by: nia12 | last post by:
Hi there, I am very new to Access so apologies if any of this is obvious/not clear. I am creating a data collection tool for health care employees to complete. It consists of a number of...
0
NeoPa
by: NeoPa | last post by:
Introduction For this article I'll be focusing on the Report (clsReport) class. This simply handles making the calling Form invisible until all of the Reports opened by it have been closed, when it...
0
isladogs
by: isladogs | last post by:
The next online meeting of the Access Europe User Group will be on Wednesday 6 Dec 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, Mike...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.