【发布时间】:2011-03-21 21:18:06
【问题描述】:
我希望你们能帮助我。
我是一名使用 C# 代码的 .Net 开发人员。我的同事给我的任务是调用一个用 Java 编写的 Web 服务。我们遇到的第一个问题是他不会说 .Net,而我不会说 Java。
第一个问题是使用网络引用还是服务引用。在我的程序可以找到服务并添加引用的意义上,两者似乎都有效。但是服务参考没有在我的项目中公开。出于这个原因,我至少现在使用了 Web 参考。
我可以设置任何属性并调用它们,它工作正常。我的问题是如何调用该方法。当我问我的同事时,他似乎不明白我在说什么。
如果问题很简单,或者如果我需要以 Java 人员能够理解我在说什么的方式向我的同事提问,我需要答案。
这是我写的代码:
WebReference.getContactUs myContactUs = new WebReference.getContactUs();
myContactUs.ContactUsReceived = DateTime.Now;
myContactUs.FirstName = "Bob";
myContactUs.LastName = "Avallone";
DateTime _ThisDateTime = myContactUs.ContactUsReceived;
这是来自wsdl的代码
<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://contactus.nrcme.fmcsa.dot.gov/" xmlns:ns1="http://nrcme.fmcsa.dot.gov/ContactUs/" name="ContactUs" targetNamespace="http://nrcme.fmcsa.dot.gov/ContactUs/" xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<xs:schema targetNamespace="http://nrcme.fmcsa.dot.gov/ContactUs/" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="getContactUs">
<xs:complexType>
<xs:sequence>
<xs:element name="ContactUsReceived" type="xs:dateTime" />
<xs:element name="FirstName" type="xs:string" />
<xs:element name="LastName" type="xs:string" />
<xs:element name="Title" type="xs:string" />
<xs:element name="Organization" type="xs:string" />
<xs:element name="Address1" type="xs:string" />
<xs:element name="Address2" type="xs:string" />
<xs:element name="City" type="xs:string" />
<xs:element name="State" type="xs:string" />
<xs:element name="ZipCode" type="xs:string" />
<xs:element name="Telephone" type="xs:string" />
<xs:element minOccurs="0" name="Fax" type="xs:string" />
<xs:element name="Email" type="xs:string" />
<xs:element name="EmailConfirm" type="xs:string" />
<xs:element minOccurs="0" name="Comment" type="xs:string" />
<xs:element minOccurs="0" name="Question1" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getContactUsResponse">
<xs:complexType>
<xs:sequence>
<xs:element name="ContactUsReceived" type="xs:dateTime" />
<xs:element minOccurs="0" name="status" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</types>
<message name="ContactUs_getContactUsResponse">
<part name="getContactUsResponse" element="ns1:getContactUsResponse" />
</message>
<message name="ContactUs_getContactUs">
<part name="getContactUs" element="ns1:getContactUs" />
</message>
<portType name="ContactUs">
<operation name="getContactUs" parameterOrder="getContactUs">
<input message="ns1:ContactUs_getContactUs" />
<output message="ns1:ContactUs_getContactUsResponse" />
</operation>
</portType>
<binding name="ContactUsBinding" type="ns1:ContactUs">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="getContactUs">
<soap:operation soapAction="http://nrcme.fmcsa.dot.gov/ContactUs/getContactUs" />
<input>
<soap:body use="literal" />
</input>
<output>
<soap:body use="literal" />
</output>
</operation>
</binding>
</definitions>
提前感谢,这个论坛很棒。
【问题讨论】:
-
在处理Java和.Net等两个不同平台时,需要让通信尽可能的清晰。您对 Java 开发人员的基本问题归结为我如何使用 .Net 调用 WebService。这不是 Java 开发人员能够为您提供的。 Java 开发人员可以提供有关 Web 服务本身的详细信息(XML、输入、输出等),但是,要使用的库的详细信息等超出了服务提供者(Java 开发人员)的范围,很可能超出了他们的专业知识.
标签: c# java .net web-services