You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@beehive.apache.org by James Black <jb...@ieee.org> on 2005/02/17 17:44:26 UTC
re: .net implementation from wsdl cannot be reflected
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I am using a version of beehive from last Friday, and I don't know why I
would be getting this error from NUnit, testing my C# client.
BlackboardClient.test.TestGetClassEnrollment :
System.InvalidOperationException : Method
BlackboardService.getGradesByCourse can not be reflected.
~ ----> System.InvalidOperationException : There was an error reflecting
'getGradesByCourseResult'.
~ ----> System.InvalidOperationException : There was an error reflecting
type 'BlackboardClient.edu.usf.acomp.webservice.blackboard.UserGrades'.
~ ----> System.InvalidOperationException : There was an error reflecting
field 'grades'.
~ ----> System.InvalidOperationException : The XML element named 'item'
from namespace 'http://localhost/ws_test' references distinct types
BlackboardClient.edu.usf.acomp.webservice.blackboard.MessageBean and
BlackboardClient.edu.usf.acomp.webservice.blackboard.UserGradeItem. Use
XML attributes to specify another XML name or namespace for the element
or types.
~ The java client unit test works fine considering that I am passing in
invalid values to my webservice.
~ My wsdl file is at:
http://dante.acomp.usf.edu:8080/ws_test/Blackboard.jws?wsdl
~ Any suggestions would be helpful, as I believe there is a problem with
the wsdl generation.
- --
"Love is mutual self-giving that ends in self-recovery." Fulton Sheen
James Black james@usf.edu
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFCFMnqikQgpVn8xrARAtSEAJ9Wc737Q0nVE5NTuvT+mvgnnqAZuQCZAZGT
CKxGSXashuT/w/YtZscnxv0=
=fU4R
-----END PGP SIGNATURE-----
Re: .net implementation from wsdl cannot be reflected
Posted by James Black <jb...@ieee.org>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Jongjin Choi wrote:
| Oops.. I forgot the modified wsdl.
|
| ----- Original Message -----
| From: "Jongjin Choi" <gu...@hotmail.com>
| To: "Beehive Users" <be...@incubator.apache.org>
| Sent: Friday, February 18, 2005 3:40 AM
| Subject: Re: .net implementation from wsdl cannot be reflected
|
|
|
|>Hi, James.
|>
|>I tested your wsdl from .NET 1.1.
|>
|>First, I modified your wsdl as attached.
|>The changes are :
|>- make tns2 namespace as http://data.blackboard.acomp.usf.edu in
<definition>
|>- merge shema definition of http://data.blackboard.acomp.usf.edu and
http://localhost/ws_test
|> as http://data.blackboard.acomp.usf.edu
|>(see attached wsdl)
|>
|>Then generate .NET stub class using wsdl.exe
~ You should get the error message you saw, actually, as these
operations are only allowed by instructors, in most cases. :)
~ How would I go about filling out a bug report on this, as I started
but the title is now incorrect:
http://issues.apache.org/jira/browse/BEEHIVE-300
~ The nullpointer problem was caused by some missing jar files, but the
.net has been failing the whole time also, and my description shows that
the wsdl file is incorrect.
~ I am about to change my beehive impl from doc/lit to rpc/enc, as I
have problems with axis using doc/lit, just so the two wsdl file
differences can be seen.
- --
"Love is mutual self-giving that ends in self-recovery." Fulton Sheen
James Black james@usf.edu
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFCFPf/ikQgpVn8xrARAhVeAJ9PDZmRh6lSYynj7jCNz7X8CFI2+ACdE4uj
M8S/hhhSOZrWX0QTkO6J8NY=
=Zwof
-----END PGP SIGNATURE-----
Re: .net implementation from wsdl cannot be reflected
Posted by Jongjin Choi <gu...@hotmail.com>.
Hmm.. The attachment seems not be permitted in this list.
The modified (long) wsdl is below:
------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://dante.acomp.usf.edu:8080/ws_test" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://dante.acomp.usf.edu:8080/ws_test" xmlns:intf="http://dante.acomp.usf.edu:8080/ws_test" xmlns:tns1="http://data.blackboard.acomp.usf.edu" xmlns:tns2="http://data.blackboard.acomp.usf.edu" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.2RC2
Built on Nov 16, 2004 (12:19:44 EST)-->
<wsdl:types>
<schema elementFormDefault="qualified" targetNamespace="http://dante.acomp.usf.edu:8080/ws_test" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://data.blackboard.acomp.usf.edu"/>
<import namespace="http://localhost/ws_test"/>
<element name="getGradesByCourseStr">
<complexType>
<sequence>
<element name="username" type="xsd:string"/>
<element name="password" type="xsd:string"/>
<element name="courseBatchUid" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="getGradesByCourseStrResponse">
<complexType>
<sequence>
<element name="result" type="xsd:int"/>
<element name="grades" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="getDBMessagesByGroupTitle">
<complexType>
<sequence>
<element name="username" type="xsd:string"/>
<element name="password" type="xsd:string"/>
<element name="courseBatchUid" type="xsd:string"/>
<element name="groupTitle" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="getDBMessagesByGroupTitleResponse">
<complexType>
<sequence>
<element maxOccurs="unbounded" name="result" type="tns1:ForumBean"/>
</sequence>
</complexType>
</element>
<element name="getClassEnrollment">
<complexType>
<sequence>
<element name="username" type="xsd:string"/>
<element name="password" type="xsd:string"/>
<element name="courseBatchUid" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="getClassEnrollmentResponse">
<complexType>
<sequence>
<element maxOccurs="unbounded" name="result" type="tns1:ClassEnrollment"/>
</sequence>
</complexType>
</element>
<element name="changeNetidAndEmail">
<complexType>
<sequence>
<element name="username" type="xsd:string"/>
<element name="password" type="xsd:string"/>
<element name="netid" type="xsd:string"/>
<element name="email" type="xsd:string"/>
<element name="pidm" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="changeNetidAndEmailResponse">
<complexType/>
</element>
<element name="getDBMessagesByCourseName">
<complexType>
<sequence>
<element name="username" type="xsd:string"/>
<element name="password" type="xsd:string"/>
<element name="courseBatchUid" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="getDBMessagesByCourseNameResponse">
<complexType>
<sequence>
<element maxOccurs="unbounded" name="result" type="tns1:ForumBean"/>
</sequence>
</complexType>
</element>
<element name="getGradeDefinitionsByCourse">
<complexType>
<sequence>
<element name="username" type="xsd:string"/>
<element name="password" type="xsd:string"/>
<element name="courseBatchUid" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="getGradeDefinitionsByCourseResponse">
<complexType>
<sequence>
<element maxOccurs="unbounded" name="result" type="tns1:GradeDefinition"/>
</sequence>
</complexType>
</element>
<element name="getGradesByCourse">
<complexType>
<sequence>
<element name="username" type="xsd:string"/>
<element name="password" type="xsd:string"/>
<element name="courseBatchUid" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="getGradesByCourseResponse">
<complexType>
<sequence>
<element maxOccurs="unbounded" name="result" type="tns1:UserGrades"/>
</sequence>
</complexType>
</element>
<element name="changeNetid">
<complexType>
<sequence>
<element name="username" type="xsd:string"/>
<element name="password" type="xsd:string"/>
<element name="netid" type="xsd:string"/>
<element name="pidm" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="changeNetidResponse">
<complexType/>
</element>
<element name="changeEmail">
<complexType>
<sequence>
<element name="username" type="xsd:string"/>
<element name="password" type="xsd:string"/>
<element name="netid" type="xsd:string"/>
<element name="pidm" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="changeEmailResponse">
<complexType/>
</element>
</schema>
<schema elementFormDefault="qualified" targetNamespace="http://data.blackboard.acomp.usf.edu" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://localhost/ws_test"/>
<complexType name="MessageBean">
<sequence>
<element name="attachmentExists" type="xsd:boolean"/>
<element name="author" nillable="true" type="xsd:string"/>
<element name="messageUrl" nillable="true" type="xsd:string"/>
<element name="newMessage" type="xsd:boolean"/>
<element name="responses" nillable="true" type="tns2:ArrayOf_tns1_MessageBean"/>
<element name="subject" nillable="true" type="xsd:string"/>
<element name="text" nillable="true" type="xsd:string"/>
<element name="timeModified" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="ForumBean">
<sequence>
<element name="messages" nillable="true" type="tns2:ArrayOf_tns1_MessageBean"/>
<element name="name" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="ClassEnrollment">
<sequence>
<element name="membershipType" nillable="true" type="xsd:string"/>
<element name="membershipTypeNum" type="xsd:int"/>
<element name="name" nillable="true" type="xsd:string"/>
<element name="netid" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="GradeDefinition">
<sequence>
<element name="categoryType" nillable="true" type="xsd:string"/>
<element name="name" nillable="true" type="xsd:string"/>
<element name="pointsPossible" type="xsd:float"/>
<element name="weight" type="xsd:float"/>
</sequence>
</complexType>
<complexType name="UserGradeItem">
<sequence>
<element name="pointPossible" type="xsd:float"/>
<element name="score" type="xsd:float"/>
<element name="weightedScore" type="xsd:float"/>
</sequence>
</complexType>
<complexType name="UserGrades">
<sequence>
<element name="courseBatchUid" nillable="true" type="xsd:string"/>
<element name="courseMembershipIdStr" nillable="true" type="xsd:string"/>
<element maxOccurs="unbounded" name="grade" nillable="true" type="tns1:UserGradeItem"/>
<element name="grades" nillable="true" type="tns2:ArrayOf_tns1_UserGradeItem"/>
<element name="listItems" nillable="true" type="tns2:ArrayOf_xsd_string"/>
<element name="totalPointsPossible" type="xsd:float"/>
<element name="userBatchUid" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
<!--
</schema>
<schema elementFormDefault="qualified" targetNamespace="http://localhost/ws_test" xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://data.blackboard.acomp.usf.edu"/>
-->
<complexType name="ArrayOf_tns1_MessageBean">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" type="tns1:MessageBean"/>
</sequence>
</complexType>
<complexType name="ArrayOf_tns1_UserGradeItem">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" type="tns1:UserGradeItem"/>
</sequence>
</complexType>
<complexType name="ArrayOf_xsd_string">
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" type="xsd:string"/>
</sequence>
</complexType>
</schema>
</wsdl:types>
<wsdl:message name="changeEmailResponse">
<wsdl:part element="impl:changeEmailResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="getGradeDefinitionsByCourseResponse">
<wsdl:part element="impl:getGradeDefinitionsByCourseResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="EpicException">
</wsdl:message>
<wsdl:message name="getGradesByCourseResponse">
<wsdl:part element="impl:getGradesByCourseResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="getDBMessagesByCourseNameRequest">
<wsdl:part element="impl:getDBMessagesByCourseName" name="parameters"/>
</wsdl:message>
<wsdl:message name="getClassEnrollmentResponse">
<wsdl:part element="impl:getClassEnrollmentResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="getClassEnrollmentRequest">
<wsdl:part element="impl:getClassEnrollment" name="parameters"/>
</wsdl:message>
<wsdl:message name="getGradeDefinitionsByCourseRequest">
<wsdl:part element="impl:getGradeDefinitionsByCourse" name="parameters"/>
</wsdl:message>
<wsdl:message name="changeNetidAndEmailResponse">
<wsdl:part element="impl:changeNetidAndEmailResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="getGradesByCourseRequest">
<wsdl:part element="impl:getGradesByCourse" name="parameters"/>
</wsdl:message>
<wsdl:message name="getDBMessagesByGroupTitleRequest">
<wsdl:part element="impl:getDBMessagesByGroupTitle" name="parameters"/>
</wsdl:message>
<wsdl:message name="getDBMessagesByCourseNameResponse">
<wsdl:part element="impl:getDBMessagesByCourseNameResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="getGradesByCourseStrResponse">
<wsdl:part element="impl:getGradesByCourseStrResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="changeEmailRequest">
<wsdl:part element="impl:changeEmail" name="parameters"/>
</wsdl:message>
<wsdl:message name="getDBMessagesByGroupTitleResponse">
<wsdl:part element="impl:getDBMessagesByGroupTitleResponse" name="parameters"/>
</wsdl:message>
<wsdl:message name="changeNetidRequest">
<wsdl:part element="impl:changeNetid" name="parameters"/>
</wsdl:message>
<wsdl:message name="changeNetidAndEmailRequest">
<wsdl:part element="impl:changeNetidAndEmail" name="parameters"/>
</wsdl:message>
<wsdl:message name="getGradesByCourseStrRequest">
<wsdl:part element="impl:getGradesByCourseStr" name="parameters"/>
</wsdl:message>
<wsdl:message name="changeNetidResponse">
<wsdl:part element="impl:changeNetidResponse" name="parameters"/>
</wsdl:message>
<wsdl:portType name="Blackboard">
<wsdl:operation name="getGradesByCourseStr">
<wsdl:input message="impl:getGradesByCourseStrRequest" name="getGradesByCourseStrRequest"/>
<wsdl:output message="impl:getGradesByCourseStrResponse" name="getGradesByCourseStrResponse"/>
<wsdl:fault message="impl:EpicException" name="EpicException"/>
</wsdl:operation>
<wsdl:operation name="getDBMessagesByGroupTitle">
<wsdl:input message="impl:getDBMessagesByGroupTitleRequest" name="getDBMessagesByGroupTitleRequest"/>
<wsdl:output message="impl:getDBMessagesByGroupTitleResponse" name="getDBMessagesByGroupTitleResponse"/>
<wsdl:fault message="impl:EpicException" name="EpicException"/>
</wsdl:operation>
<wsdl:operation name="getClassEnrollment">
<wsdl:input message="impl:getClassEnrollmentRequest" name="getClassEnrollmentRequest"/>
<wsdl:output message="impl:getClassEnrollmentResponse" name="getClassEnrollmentResponse"/>
<wsdl:fault message="impl:EpicException" name="EpicException"/>
</wsdl:operation>
<wsdl:operation name="changeNetidAndEmail">
<wsdl:input message="impl:changeNetidAndEmailRequest" name="changeNetidAndEmailRequest"/>
<wsdl:output message="impl:changeNetidAndEmailResponse" name="changeNetidAndEmailResponse"/>
<wsdl:fault message="impl:EpicException" name="EpicException"/>
</wsdl:operation>
<wsdl:operation name="getDBMessagesByCourseName">
<wsdl:input message="impl:getDBMessagesByCourseNameRequest" name="getDBMessagesByCourseNameRequest"/>
<wsdl:output message="impl:getDBMessagesByCourseNameResponse" name="getDBMessagesByCourseNameResponse"/>
<wsdl:fault message="impl:EpicException" name="EpicException"/>
</wsdl:operation>
<wsdl:operation name="getGradeDefinitionsByCourse">
<wsdl:input message="impl:getGradeDefinitionsByCourseRequest" name="getGradeDefinitionsByCourseRequest"/>
<wsdl:output message="impl:getGradeDefinitionsByCourseResponse" name="getGradeDefinitionsByCourseResponse"/>
<wsdl:fault message="impl:EpicException" name="EpicException"/>
</wsdl:operation>
<wsdl:operation name="getGradesByCourse">
<wsdl:input message="impl:getGradesByCourseRequest" name="getGradesByCourseRequest"/>
<wsdl:output message="impl:getGradesByCourseResponse" name="getGradesByCourseResponse"/>
<wsdl:fault message="impl:EpicException" name="EpicException"/>
</wsdl:operation>
<wsdl:operation name="changeNetid">
<wsdl:input message="impl:changeNetidRequest" name="changeNetidRequest"/>
<wsdl:output message="impl:changeNetidResponse" name="changeNetidResponse"/>
<wsdl:fault message="impl:EpicException" name="EpicException"/>
</wsdl:operation>
<wsdl:operation name="changeEmail">
<wsdl:input message="impl:changeEmailRequest" name="changeEmailRequest"/>
<wsdl:output message="impl:changeEmailResponse" name="changeEmailResponse"/>
<wsdl:fault message="impl:EpicException" name="EpicException"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="BlackboardSoapBinding" type="impl:Blackboard">
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="getGradesByCourseStr">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="getGradesByCourseStrRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getGradesByCourseStrResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="EpicException">
<wsdlsoap:fault name="EpicException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="getDBMessagesByGroupTitle">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="getDBMessagesByGroupTitleRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getDBMessagesByGroupTitleResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="EpicException">
<wsdlsoap:fault name="EpicException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="getClassEnrollment">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="getClassEnrollmentRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getClassEnrollmentResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="EpicException">
<wsdlsoap:fault name="EpicException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="changeNetidAndEmail">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="changeNetidAndEmailRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="changeNetidAndEmailResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="EpicException">
<wsdlsoap:fault name="EpicException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="getDBMessagesByCourseName">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="getDBMessagesByCourseNameRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getDBMessagesByCourseNameResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="EpicException">
<wsdlsoap:fault name="EpicException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="getGradeDefinitionsByCourse">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="getGradeDefinitionsByCourseRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getGradeDefinitionsByCourseResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="EpicException">
<wsdlsoap:fault name="EpicException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="getGradesByCourse">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="getGradesByCourseRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="getGradesByCourseResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="EpicException">
<wsdlsoap:fault name="EpicException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="changeNetid">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="changeNetidRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="changeNetidResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="EpicException">
<wsdlsoap:fault name="EpicException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="changeEmail">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="changeEmailRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="changeEmailResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="EpicException">
<wsdlsoap:fault name="EpicException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="BlackboardService">
<wsdl:port binding="impl:BlackboardSoapBinding" name="Blackboard">
<wsdlsoap:address location="http://dante.acomp.usf.edu:8080/ws_test/Blackboard.jws"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
--------------------------
----- Original Message -----
From: "Jongjin Choi" <gu...@hotmail.com>
To: "Beehive Users" <be...@incubator.apache.org>
Sent: Friday, February 18, 2005 3:43 AM
Subject: Re: .net implementation from wsdl cannot be reflected
> Oops.. I forgot the modified wsdl.
>
> ----- Original Message -----
> From: "Jongjin Choi" <gu...@hotmail.com>
> To: "Beehive Users" <be...@incubator.apache.org>
> Sent: Friday, February 18, 2005 3:40 AM
> Subject: Re: .net implementation from wsdl cannot be reflected
>
>
>> Hi, James.
>>
>> I tested your wsdl from .NET 1.1.
>>
>> First, I modified your wsdl as attached.
>> The changes are :
>> - make tns2 namespace as http://data.blackboard.acomp.usf.edu in <definition>
>> - merge shema definition of http://data.blackboard.acomp.usf.edu and http://localhost/ws_test
>> as http://data.blackboard.acomp.usf.edu
>> (see attached wsdl)
>>
>> Then generate .NET stub class using wsdl.exe
>>
>> And the test program I wrote (in C#)
>> ------------------------
>> using System;
>>
>> namespace Test1
>> {
>> class TestClient
>> {
>> static void Main(string[] args)
>> {
>> TestClient client = new TestClient();
>> client.run();
>> }
>>
>> private void run()
>> {
>> BlackboardService service = new BlackboardService();
>> UserGrades[] grades = service.getGradesByCourse("guest", "guest", "001");
>> }
>> }
>> }
>> ---------------------------
>>
>> Then run the compiled TestClient.exe, the result is :
>>
>> Unhandled Exception: System.Web.Services.Protocols.SoapException: edu.usf.acomp.
>> epic.EpicException: Only instructors can do this operation, and guest is not an
>> instructor for course 001
>> at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClie
>> ntMessage message, WebResponse response, Stream responseStream, Boolean asyncCal
>> l)
>> at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodN
>> ame, Object[] parameters)
>> at BlackboardService.getGradesByCourse(String username, String password, Stri
>> ng courseBatchUid)
>> at Test1.TestClient.Main(String[] args)
>>
>> The soap fault message is returned from your web service.
>>
>> Is this what you expected?
>>
>> I think the wsdl and schema is not valid and .NET can not handle the schema from beehive/axis.
>> But to improve .NET interop, it is better to generate a wsdl that .NET can manage.
>>
>> Can you give the jws and other java files or a simplified test case to reproduce this?
>>
>>
>> ----- Original Message -----
>> From: "James Black" <jb...@ieee.org>
>> To: "Beehive Users" <be...@incubator.apache.org>
>> Sent: Friday, February 18, 2005 1:44 AM
>> Subject: re: .net implementation from wsdl cannot be reflected
>>
>>
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA1
>>>
>>> I am using a version of beehive from last Friday, and I don't know why I
>>> would be getting this error from NUnit, testing my C# client.
>>>
>>> BlackboardClient.test.TestGetClassEnrollment :
>>> System.InvalidOperationException : Method
>>> BlackboardService.getGradesByCourse can not be reflected.
>>> ~ ----> System.InvalidOperationException : There was an error reflecting
>>> 'getGradesByCourseResult'.
>>> ~ ----> System.InvalidOperationException : There was an error reflecting
>>> type 'BlackboardClient.edu.usf.acomp.webservice.blackboard.UserGrades'.
>>> ~ ----> System.InvalidOperationException : There was an error reflecting
>>> field 'grades'.
>>> ~ ----> System.InvalidOperationException : The XML element named 'item'
>>> from namespace 'http://localhost/ws_test' references distinct types
>>> BlackboardClient.edu.usf.acomp.webservice.blackboard.MessageBean and
>>> BlackboardClient.edu.usf.acomp.webservice.blackboard.UserGradeItem. Use
>>> XML attributes to specify another XML name or namespace for the element
>>> or types.
>>>
>>> ~ The java client unit test works fine considering that I am passing in
>>> invalid values to my webservice.
>>>
>>> ~ My wsdl file is at:
>>> http://dante.acomp.usf.edu:8080/ws_test/Blackboard.jws?wsdl
>>>
>>> ~ Any suggestions would be helpful, as I believe there is a problem with
>>> the wsdl generation.
>>>
>>> - --
>>> "Love is mutual self-giving that ends in self-recovery." Fulton Sheen
>>> James Black james@usf.edu
>>> -----BEGIN PGP SIGNATURE-----
>>> Version: GnuPG v1.2.5 (MingW32)
>>> Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
>>>
>>> iD8DBQFCFMnqikQgpVn8xrARAtSEAJ9Wc737Q0nVE5NTuvT+mvgnnqAZuQCZAZGT
>>> CKxGSXashuT/w/YtZscnxv0=
>>> =fU4R
>>> -----END PGP SIGNATURE-----
>>>
Re: .net implementation from wsdl cannot be reflected
Posted by Jongjin Choi <gu...@hotmail.com>.
Oops.. I forgot the modified wsdl.
----- Original Message -----
From: "Jongjin Choi" <gu...@hotmail.com>
To: "Beehive Users" <be...@incubator.apache.org>
Sent: Friday, February 18, 2005 3:40 AM
Subject: Re: .net implementation from wsdl cannot be reflected
> Hi, James.
>
> I tested your wsdl from .NET 1.1.
>
> First, I modified your wsdl as attached.
> The changes are :
> - make tns2 namespace as http://data.blackboard.acomp.usf.edu in <definition>
> - merge shema definition of http://data.blackboard.acomp.usf.edu and http://localhost/ws_test
> as http://data.blackboard.acomp.usf.edu
> (see attached wsdl)
>
> Then generate .NET stub class using wsdl.exe
>
> And the test program I wrote (in C#)
> ------------------------
> using System;
>
> namespace Test1
> {
> class TestClient
> {
> static void Main(string[] args)
> {
> TestClient client = new TestClient();
> client.run();
> }
>
> private void run()
> {
> BlackboardService service = new BlackboardService();
> UserGrades[] grades = service.getGradesByCourse("guest", "guest", "001");
> }
> }
> }
> ---------------------------
>
> Then run the compiled TestClient.exe, the result is :
>
> Unhandled Exception: System.Web.Services.Protocols.SoapException: edu.usf.acomp.
> epic.EpicException: Only instructors can do this operation, and guest is not an
> instructor for course 001
> at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClie
> ntMessage message, WebResponse response, Stream responseStream, Boolean asyncCal
> l)
> at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodN
> ame, Object[] parameters)
> at BlackboardService.getGradesByCourse(String username, String password, Stri
> ng courseBatchUid)
> at Test1.TestClient.Main(String[] args)
>
> The soap fault message is returned from your web service.
>
> Is this what you expected?
>
> I think the wsdl and schema is not valid and .NET can not handle the schema from beehive/axis.
> But to improve .NET interop, it is better to generate a wsdl that .NET can manage.
>
> Can you give the jws and other java files or a simplified test case to reproduce this?
>
>
> ----- Original Message -----
> From: "James Black" <jb...@ieee.org>
> To: "Beehive Users" <be...@incubator.apache.org>
> Sent: Friday, February 18, 2005 1:44 AM
> Subject: re: .net implementation from wsdl cannot be reflected
>
>
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> I am using a version of beehive from last Friday, and I don't know why I
>> would be getting this error from NUnit, testing my C# client.
>>
>> BlackboardClient.test.TestGetClassEnrollment :
>> System.InvalidOperationException : Method
>> BlackboardService.getGradesByCourse can not be reflected.
>> ~ ----> System.InvalidOperationException : There was an error reflecting
>> 'getGradesByCourseResult'.
>> ~ ----> System.InvalidOperationException : There was an error reflecting
>> type 'BlackboardClient.edu.usf.acomp.webservice.blackboard.UserGrades'.
>> ~ ----> System.InvalidOperationException : There was an error reflecting
>> field 'grades'.
>> ~ ----> System.InvalidOperationException : The XML element named 'item'
>> from namespace 'http://localhost/ws_test' references distinct types
>> BlackboardClient.edu.usf.acomp.webservice.blackboard.MessageBean and
>> BlackboardClient.edu.usf.acomp.webservice.blackboard.UserGradeItem. Use
>> XML attributes to specify another XML name or namespace for the element
>> or types.
>>
>> ~ The java client unit test works fine considering that I am passing in
>> invalid values to my webservice.
>>
>> ~ My wsdl file is at:
>> http://dante.acomp.usf.edu:8080/ws_test/Blackboard.jws?wsdl
>>
>> ~ Any suggestions would be helpful, as I believe there is a problem with
>> the wsdl generation.
>>
>> - --
>> "Love is mutual self-giving that ends in self-recovery." Fulton Sheen
>> James Black james@usf.edu
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v1.2.5 (MingW32)
>> Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
>>
>> iD8DBQFCFMnqikQgpVn8xrARAtSEAJ9Wc737Q0nVE5NTuvT+mvgnnqAZuQCZAZGT
>> CKxGSXashuT/w/YtZscnxv0=
>> =fU4R
>> -----END PGP SIGNATURE-----
>>
Re: .net implementation from wsdl cannot be reflected
Posted by Jongjin Choi <gu...@hotmail.com>.
Hi, James.
I tested your wsdl from .NET 1.1.
First, I modified your wsdl as attached.
The changes are :
- make tns2 namespace as http://data.blackboard.acomp.usf.edu in <definition>
- merge shema definition of http://data.blackboard.acomp.usf.edu and http://localhost/ws_test
as http://data.blackboard.acomp.usf.edu
(see attached wsdl)
Then generate .NET stub class using wsdl.exe
And the test program I wrote (in C#)
------------------------
using System;
namespace Test1
{
class TestClient
{
static void Main(string[] args)
{
TestClient client = new TestClient();
client.run();
}
private void run()
{
BlackboardService service = new BlackboardService();
UserGrades[] grades = service.getGradesByCourse("guest", "guest", "001");
}
}
}
---------------------------
Then run the compiled TestClient.exe, the result is :
Unhandled Exception: System.Web.Services.Protocols.SoapException: edu.usf.acomp.
epic.EpicException: Only instructors can do this operation, and guest is not an
instructor for course 001
at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClie
ntMessage message, WebResponse response, Stream responseStream, Boolean asyncCal
l)
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodN
ame, Object[] parameters)
at BlackboardService.getGradesByCourse(String username, String password, Stri
ng courseBatchUid)
at Test1.TestClient.Main(String[] args)
The soap fault message is returned from your web service.
Is this what you expected?
I think the wsdl and schema is not valid and .NET can not handle the schema from beehive/axis.
But to improve .NET interop, it is better to generate a wsdl that .NET can manage.
Can you give the jws and other java files or a simplified test case to reproduce this?
----- Original Message -----
From: "James Black" <jb...@ieee.org>
To: "Beehive Users" <be...@incubator.apache.org>
Sent: Friday, February 18, 2005 1:44 AM
Subject: re: .net implementation from wsdl cannot be reflected
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> I am using a version of beehive from last Friday, and I don't know why I
> would be getting this error from NUnit, testing my C# client.
>
> BlackboardClient.test.TestGetClassEnrollment :
> System.InvalidOperationException : Method
> BlackboardService.getGradesByCourse can not be reflected.
> ~ ----> System.InvalidOperationException : There was an error reflecting
> 'getGradesByCourseResult'.
> ~ ----> System.InvalidOperationException : There was an error reflecting
> type 'BlackboardClient.edu.usf.acomp.webservice.blackboard.UserGrades'.
> ~ ----> System.InvalidOperationException : There was an error reflecting
> field 'grades'.
> ~ ----> System.InvalidOperationException : The XML element named 'item'
> from namespace 'http://localhost/ws_test' references distinct types
> BlackboardClient.edu.usf.acomp.webservice.blackboard.MessageBean and
> BlackboardClient.edu.usf.acomp.webservice.blackboard.UserGradeItem. Use
> XML attributes to specify another XML name or namespace for the element
> or types.
>
> ~ The java client unit test works fine considering that I am passing in
> invalid values to my webservice.
>
> ~ My wsdl file is at:
> http://dante.acomp.usf.edu:8080/ws_test/Blackboard.jws?wsdl
>
> ~ Any suggestions would be helpful, as I believe there is a problem with
> the wsdl generation.
>
> - --
> "Love is mutual self-giving that ends in self-recovery." Fulton Sheen
> James Black james@usf.edu
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.5 (MingW32)
> Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
>
> iD8DBQFCFMnqikQgpVn8xrARAtSEAJ9Wc737Q0nVE5NTuvT+mvgnnqAZuQCZAZGT
> CKxGSXashuT/w/YtZscnxv0=
> =fU4R
> -----END PGP SIGNATURE-----
>