【发布时间】:2011-03-28 14:01:54
【问题描述】:
我向供应商的基于 Java 的 Web 服务添加了“服务参考”,但我无法控制。
我有这个简单的客户端代码:
Client myClient = new Client();
CapabilitiesType response = client.GetCapabilities(new GetCapabilitiesType1());
myClient.Close();
litCapabilities.Text = response.version;
它会生成以下 SOAP 信封:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Header></s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GetCapabilities xmlns="http://www.opengis.net/cat/csw/2.0.2"></GetCapabilities>
</s:Body>
</s:Envelope>
到目前为止一切顺利,以上是我从 Trace Viewer 获得的。使用 SoapUI 和 Trace Viewer,我可以验证我得到了正确的响应:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header></SOAP-ENV:Header>
<SOAP-ENV:Body>
<wrs:Capabilities xmlns:wrs="http://www.opengis.net/cat/wrs/1.0" xmlns:csw="http://www.opengis.net/cat/csw" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengeospatial.net/ows" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0.0">
<ows:ServiceIdentification>
<ows:Title>EarthObservation ebRIM Catalogue</ows:Title>
<ows:Abstract>
A web-based catalogue service that implements the CSW-ebRIM profile of the OGC Catalogue 2.0 specification, and the EO Extension Package
</ows:Abstract>
<ows:Keywords>
<ows:Keyword>registry</ows:Keyword>
<ows:Keyword>catalogue</ows:Keyword>
<ows:Keyword>ebRIM</ows:Keyword>
<ows:Keyword>earth observation</ows:Keyword>
</ows:Keywords>
<ows:ServiceType>urn:ogc:service:catalogue:csw-ebrim</ows:ServiceType>
<ows:ServiceTypeVersion>2.0.2</ows:ServiceTypeVersion>
<ows:Fees>NONE</ows:Fees>
</ows:ServiceIdentification>
<ows:OperationsMetadata>
<ows:Operation name="GetCapabilities">
<ows:DCP>
<ows:HTTP>
<ows:Post xlink:href="http://999.999.999.999:8080/hma/ws/" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"></ows:Post>
</ows:HTTP>
</ows:DCP>
<ows:Parameter name="sections">
<ows:Value>ServiceIdentification</ows:Value>
<ows:Value>ServiceProvider</ows:Value>
<ows:Value>OperationsMetadata</ows:Value>
<ows:Value>Filter_Capabilities</ows:Value>
<ows:Value>ServiceProperties</ows:Value>
</ows:Parameter>
<ows:Parameter name="AcceptVersions">
<ows:Value>2.0.2</ows:Value>
</ows:Parameter>
<ows:Parameter name="AcceptFormats">
<ows:Value>application/xml</ows:Value>
</ows:Parameter>
</ows:Operation>
<ows:Operation name="GetRecords">
<ows:DCP>
<ows:HTTP>
<ows:Post xlink:href="http://999.999.999.999:8080/hma/ws/"></ows:Post>
</ows:HTTP>
</ows:DCP>
<ows:Parameter name="resultType">
<ows:Value>hits</ows:Value>
<ows:Value>results</ows:Value>
</ows:Parameter>
<ows:Parameter name="outputFormat">
<ows:Value>application/xml</ows:Value>
</ows:Parameter>
<ows:Parameter name="outputSchema">
<ows:Value>urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0</ows:Value>
</ows:Parameter>
<ows:Parameter name="startPosition">
<ows:DefaultValue>1</ows:DefaultValue>
</ows:Parameter>
<ows:Parameter name="maxRecords">
<ows:DefaultValue>10</ows:DefaultValue>
</ows:Parameter>
<ows:Parameter name="TypeNames">
<ows:Value>rim:RegistryObject</ows:Value>
<ows:Value>rim:Association</ows:Value>
<ows:Value>rim:Classification</ows:Value>
<ows:Value>rim:ClassificationNode</ows:Value>
<ows:Value>rim:ClassificationScheme</ows:Value>
<ows:Value>urn:x-ogc:specification:csw-ebrim:ObjectType:EO:EOProduct</ows:Value>
<ows:Value>urn:x-ogc:specification:csw-ebrim:ObjectType:EO:EOAcquisitionPlatform</ows:Value>
<ows:Value>urn:x-ogc:specification:csw-ebrim:ObjectType:EO:EOBrowseInformation</ows:Value>
<ows:Value>urn:x-ogc:specification:csw-ebrim:ObjectType:EO:EOArchivingInformation</ows:Value>
</ows:Parameter>
<ows:Parameter name="ElementName"></ows:Parameter>
<ows:Parameter name="ElementSetName">
<ows:Value>brief</ows:Value>
<ows:Value>summary</ows:Value>
<ows:Value>full</ows:Value>
</ows:Parameter>
<ows:Parameter name="CONSTRAINTLANGUAGE">
<ows:Value>FILTER</ows:Value>
</ows:Parameter>
<ows:Parameter name="DistributedSearch">
<ows:Value>FALSE</ows:Value>
</ows:Parameter>
<ows:Parameter name="constraint"></ows:Parameter>
<ows:Parameter name="SortBy"></ows:Parameter>
</ows:Operation>
<ows:Operation name="GetRecordById">
<ows:DCP>
<ows:HTTP>
<ows:Post xlink:href="http://999.999.999.999:8080/hma/ws/"></ows:Post>
</ows:HTTP>
</ows:DCP>
<ows:Parameter name="Id">
<ows:Value></ows:Value>
</ows:Parameter>
<ows:Parameter name="outputFormat">
<ows:Value>application/xml</ows:Value>
</ows:Parameter>
<ows:Parameter name="outputSchema">
<ows:Value>urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0</ows:Value>
</ows:Parameter>
<ows:Parameter name="ElementSetName">
<ows:Value>brief</ows:Value>
<ows:Value>summary</ows:Value>
<ows:Value>full</ows:Value>
</ows:Parameter>
</ows:Operation>
<ows:Operation name="DescribeRecord">
<ows:DCP>
<ows:HTTP>
<ows:Post xlink:href="http://999.999.999.999:8080/hma/ws/"></ows:Post>
</ows:HTTP>
</ows:DCP>
<ows:Parameter name="TypeNames">
<ows:Value>rim:RegistryObject</ows:Value>
<ows:Value>rim:Association</ows:Value>
<ows:Value>rim:Classification</ows:Value>
<ows:Value>rim:ClassificationNode</ows:Value>
<ows:Value>rim:ClassificationScheme</ows:Value>
<ows:Value>urn:x-ogc:specification:csw-ebrim:ObjectType:EO:EOProduct</ows:Value>
<ows:Value>urn:x-ogc:specification:csw-ebrim:ObjectType:EO:EOAcquisitionPlatform</ows:Value>
<ows:Value>urn:x-ogc:specification:csw-ebrim:ObjectType:EO:EOBrowseInformation</ows:Value>
<ows:Value>urn:x-ogc:specification:csw-ebrim:ObjectType:EO:EOArchivingInformation</ows:Value>
</ows:Parameter>
<ows:Parameter name="outputFormat">
<ows:Value>application/xml</ows:Value>
</ows:Parameter>
<ows:Parameter name="schemaLanguage">
<ows:Value>http://www.w3.org/TR/xmlschema-1</ows:Value>
</ows:Parameter>
</ows:Operation>
<ows:Parameter name="service">
<ows:Value>CSW</ows:Value>
</ows:Parameter>
<ows:Parameter name="version">
<ows:Value>2.0.2</ows:Value>
</ows:Parameter>
<ows:ExtendedCapabilities xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
<rim:Slot name="urn:ogc:def:ebRIM-Slot:OGC-06-131:parentIdentifier " slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String">
<rim:ValueList>
<rim:Value>urn:ogc:def:EOP:xxx-GSI:RSAT2_SEGMENTS</rim:Value>
</rim:ValueList>
</rim:Slot>
</ows:ExtendedCapabilities>
</ows:OperationsMetadata>
<ogc:Filter_Capabilities xmlns:gml="http://www.opengis.net/gml">
<ogc:Spatial_Capabilities>
<ogc:GeometryOperands>
<ogc:GeometryOperand>gml:Envelope</ogc:GeometryOperand>
<ogc:GeometryOperand>gml:Point</ogc:GeometryOperand>
<ogc:GeometryOperand>gml:LineString</ogc:GeometryOperand>
<ogc:GeometryOperand>gml:Polygon</ogc:GeometryOperand>
</ogc:GeometryOperands>
<ogc:SpatialOperators>
<ogc:SpatialOperator name="BBOX"></ogc:SpatialOperator>
<ogc:SpatialOperator name="Overlaps"></ogc:SpatialOperator>
</ogc:SpatialOperators>
</ogc:Spatial_Capabilities>
<ogc:Scalar_Capabilities>
<ogc:LogicalOperators></ogc:LogicalOperators>
<ogc:ComparisonOperators>
<ogc:ComparisonOperator>LessThan</ogc:ComparisonOperator>
<ogc:ComparisonOperator>GreaterThan</ogc:ComparisonOperator>
<ogc:ComparisonOperator>LessThanEqualTo</ogc:ComparisonOperator>
<ogc:ComparisonOperator>GreaterThanEqualTo</ogc:ComparisonOperator>
<ogc:ComparisonOperator>EqualTo</ogc:ComparisonOperator>
<ogc:ComparisonOperator>NotEqualTo</ogc:ComparisonOperator>
</ogc:ComparisonOperators>
<ogc:ArithmeticOperators>
<ogc:SimpleArithmetic></ogc:SimpleArithmetic>
</ogc:ArithmeticOperators>
</ogc:Scalar_Capabilities>
</ogc:Filter_Capabilities>
<wrs:ServiceProperties>
<wrs:property name="http://www.opengis.net/cat/wrs/properties/extension-packages">
<wrs:value>urn:ogc:specification:csw-ebrim:ext-pkg:Basic</wrs:value>
<wrs:value>urn:x-ogc:specification:csw-ebrim:package:EOProducts</wrs:value>
</wrs:property>
<wrs:property name="http://www.opengis.net/cat/wrs/properties/query-languages">
<wrs:value>http://www.opengis.net/ogc</wrs:value>
<wrs:value>http://www.w3.org/TR/xpath</wrs:value>
</wrs:property>
<wrs:property name="http://www.opengis.net/cat/wrs/properties/mime-types">
<wrs:value>application/xml</wrs:value>
</wrs:property>
<wrs:property name="http://www.opengis.net/cat/wrs/properties/temporal-ref-systems">
<wrs:value>urn:ogc:def:trs:ISO-8601:2000</wrs:value>
</wrs:property>
<wrs:property name="http://www.opengis.net/cat/wrs/properties/spatial-ref-systems">
<wrs:value> urn:ogc:def:crs:EPSG:6.3:4326</wrs:value>
</wrs:property>
</wrs:ServiceProperties>
<wrs:WSDL-services xlink:href="http://999.999.999.999:8080/hma/ws/hma.wsdl" xlink:role="http://www.w3.org/2005/08/wsdl" xlink:title="HMA RSAT-2 Web Service End point" xlink:type="simple"></wrs:WSDL-services>
</wrs:Capabilities>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header></SOAP-ENV:Header>
<SOAP-ENV:Body>
<wrs:Capabilities xmlns:wrs="http://www.opengis.net/cat/wrs/1.0" xmlns:csw="http://www.opengis.net/cat/csw" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengeospatial.net/ows" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.0.0">
<ows:ServiceIdentification>
<ows:Title>EarthObservation ebRIM Catalogue</ows:Title>
<ows:Abstract>
A web-based catalogue service that implements the CSW-ebRIM profile of the OGC Catalogue 2.0 specification, and the EO Extension Package
</ows:Abstract>
<ows:Keywords>
<ows:Keyword>registry</ows:Keyword>
<ows:Keyword>catalogue</ows:Keyword>
<ows:Keyword>ebRIM</ows:Keyword>
<ows:Keyword>earth observation</ows:Keyword>
</ows:Keywords>
<ows:ServiceType>urn:ogc:service:catalogue:csw-ebrim</ows:ServiceType>
<ows:ServiceTypeVersion>2.0.2</ows:ServiceTypeVersion>
<ows:Fees>NONE</ows:Fees>
</ows:ServiceIdentification>
<ows:OperationsMetadata>
<ows:Operation name="GetCapabilities">
<ows:DCP>
<ows:HTTP>
<ows:Post xlink:href="http://999.999.999.999:8080/hma/ws/" xlink:type="simple" xmlns:xlink="http://www.w3.org/1999/xlink"></ows:Post>
</ows:HTTP>
</ows:DCP>
<ows:Parameter name="sections">
<ows:Value>ServiceIdentification</ows:Value>
<ows:Value>ServiceProvider</ows:Value>
<ows:Value>OperationsMetadata</ows:Value>
<ows:Value>Filter_Capabilities</ows:Value>
<ows:Value>ServiceProperties</ows:Value>
</ows:Parameter>
<ows:Parameter name="AcceptVersions">
<ows:Value>2.0.2</ows:Value>
</ows:Parameter>
<ows:Parameter name="AcceptFormats">
<ows:Value>application/xml</ows:Value>
</ows:Parameter>
</ows:Operation>
<ows:Operation name="GetRecords">
<ows:DCP>
<ows:HTTP>
<ows:Post xlink:href="http://999.999.999.999:8080/hma/ws/"></ows:Post>
</ows:HTTP>
</ows:DCP>
<ows:Parameter name="resultType">
<ows:Value>hits</ows:Value>
<ows:Value>results</ows:Value>
</ows:Parameter>
<ows:Parameter name="outputFormat">
<ows:Value>application/xml</ows:Value>
</ows:Parameter>
<ows:Parameter name="outputSchema">
<ows:Value>urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0</ows:Value>
</ows:Parameter>
<ows:Parameter name="startPosition">
<ows:DefaultValue>1</ows:DefaultValue>
</ows:Parameter>
<ows:Parameter name="maxRecords">
<ows:DefaultValue>10</ows:DefaultValue>
</ows:Parameter>
<ows:Parameter name="TypeNames">
<ows:Value>rim:RegistryObject</ows:Value>
<ows:Value>rim:Association</ows:Value>
<ows:Value>rim:Classification</ows:Value>
<ows:Value>rim:ClassificationNode</ows:Value>
<ows:Value>rim:ClassificationScheme</ows:Value>
<ows:Value>urn:x-ogc:specification:csw-ebrim:ObjectType:EO:EOProduct</ows:Value>
<ows:Value>urn:x-ogc:specification:csw-ebrim:ObjectType:EO:EOAcquisitionPlatform</ows:Value>
<ows:Value>urn:x-ogc:specification:csw-ebrim:ObjectType:EO:EOBrowseInformation</ows:Value>
<ows:Value>urn:x-ogc:specification:csw-ebrim:ObjectType:EO:EOArchivingInformation</ows:Value>
</ows:Parameter>
<ows:Parameter name="ElementName"></ows:Parameter>
<ows:Parameter name="ElementSetName">
<ows:Value>brief</ows:Value>
<ows:Value>summary</ows:Value>
<ows:Value>full</ows:Value>
</ows:Parameter>
<ows:Parameter name="CONSTRAINTLANGUAGE">
<ows:Value>FILTER</ows:Value>
</ows:Parameter>
<ows:Parameter name="DistributedSearch">
<ows:Value>FALSE</ows:Value>
</ows:Parameter>
<ows:Parameter name="constraint"></ows:Parameter>
<ows:Parameter name="SortBy"></ows:Parameter>
</ows:Operation>
<ows:Operation name="GetRecordById">
<ows:DCP>
<ows:HTTP>
<ows:Post xlink:href="http://999.999.999.999:8080/hma/ws/"></ows:Post>
</ows:HTTP>
</ows:DCP>
<ows:Parameter name="Id">
<ows:Value></ows:Value>
</ows:Parameter>
<ows:Parameter name="outputFormat">
<ows:Value>application/xml</ows:Value>
</ows:Parameter>
<ows:Parameter name="outputSchema">
<ows:Value>urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0</ows:Value>
</ows:Parameter>
<ows:Parameter name="ElementSetName">
<ows:Value>brief</ows:Value>
<ows:Value>summary</ows:Value>
<ows:Value>full</ows:Value>
</ows:Parameter>
</ows:Operation>
<ows:Operation name="DescribeRecord">
<ows:DCP>
<ows:HTTP>
<ows:Post xlink:href="http://999.999.999.999:8080/hma/ws/"></ows:Post>
</ows:HTTP>
</ows:DCP>
<ows:Parameter name="TypeNames">
<ows:Value>rim:RegistryObject</ows:Value>
<ows:Value>rim:Association</ows:Value>
<ows:Value>rim:Classification</ows:Value>
<ows:Value>rim:ClassificationNode</ows:Value>
<ows:Value>rim:ClassificationScheme</ows:Value>
<ows:Value>urn:x-ogc:specification:csw-ebrim:ObjectType:EO:EOProduct</ows:Value>
<ows:Value>urn:x-ogc:specification:csw-ebrim:ObjectType:EO:EOAcquisitionPlatform</ows:Value>
<ows:Value>urn:x-ogc:specification:csw-ebrim:ObjectType:EO:EOBrowseInformation</ows:Value>
<ows:Value>urn:x-ogc:specification:csw-ebrim:ObjectType:EO:EOArchivingInformation</ows:Value>
</ows:Parameter>
<ows:Parameter name="outputFormat">
<ows:Value>application/xml</ows:Value>
</ows:Parameter>
<ows:Parameter name="schemaLanguage">
<ows:Value>http://www.w3.org/TR/xmlschema-1</ows:Value>
</ows:Parameter>
</ows:Operation>
<ows:Parameter name="service">
<ows:Value>CSW</ows:Value>
</ows:Parameter>
<ows:Parameter name="version">
<ows:Value>2.0.2</ows:Value>
</ows:Parameter>
<ows:ExtendedCapabilities xmlns:rim="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
<rim:Slot name="urn:ogc:def:ebRIM-Slot:OGC-06-131:parentIdentifier " slotType="urn:oasis:names:tc:ebxml-regrep:DataType:String">
<rim:ValueList>
<rim:Value>urn:ogc:def:EOP:xxx-GSI:RSAT2_SEGMENTS</rim:Value>
</rim:ValueList>
</rim:Slot>
</ows:ExtendedCapabilities>
</ows:OperationsMetadata>
<ogc:Filter_Capabilities xmlns:gml="http://www.opengis.net/gml">
<ogc:Spatial_Capabilities>
<ogc:GeometryOperands>
<ogc:GeometryOperand>gml:Envelope</ogc:GeometryOperand>
<ogc:GeometryOperand>gml:Point</ogc:GeometryOperand>
<ogc:GeometryOperand>gml:LineString</ogc:GeometryOperand>
<ogc:GeometryOperand>gml:Polygon</ogc:GeometryOperand>
</ogc:GeometryOperands>
<ogc:SpatialOperators>
<ogc:SpatialOperator name="BBOX"></ogc:SpatialOperator>
<ogc:SpatialOperator name="Overlaps"></ogc:SpatialOperator>
</ogc:SpatialOperators>
</ogc:Spatial_Capabilities>
<ogc:Scalar_Capabilities>
<ogc:LogicalOperators></ogc:LogicalOperators>
<ogc:ComparisonOperators>
<ogc:ComparisonOperator>LessThan</ogc:ComparisonOperator>
<ogc:ComparisonOperator>GreaterThan</ogc:ComparisonOperator>
<ogc:ComparisonOperator>LessThanEqualTo</ogc:ComparisonOperator>
<ogc:ComparisonOperator>GreaterThanEqualTo</ogc:ComparisonOperator>
<ogc:ComparisonOperator>EqualTo</ogc:ComparisonOperator>
<ogc:ComparisonOperator>NotEqualTo</ogc:ComparisonOperator>
</ogc:ComparisonOperators>
<ogc:ArithmeticOperators>
<ogc:SimpleArithmetic></ogc:SimpleArithmetic>
</ogc:ArithmeticOperators>
</ogc:Scalar_Capabilities>
</ogc:Filter_Capabilities>
<wrs:ServiceProperties>
<wrs:property name="http://www.opengis.net/cat/wrs/properties/extension-packages">
<wrs:value>urn:ogc:specification:csw-ebrim:ext-pkg:Basic</wrs:value>
<wrs:value>urn:x-ogc:specification:csw-ebrim:package:EOProducts</wrs:value>
</wrs:property>
<wrs:property name="http://www.opengis.net/cat/wrs/properties/query-languages">
<wrs:value>http://www.opengis.net/ogc</wrs:value>
<wrs:value>http://www.w3.org/TR/xpath</wrs:value>
</wrs:property>
<wrs:property name="http://www.opengis.net/cat/wrs/properties/mime-types">
<wrs:value>application/xml</wrs:value>
</wrs:property>
<wrs:property name="http://www.opengis.net/cat/wrs/properties/temporal-ref-systems">
<wrs:value>urn:ogc:def:trs:ISO-8601:2000</wrs:value>
</wrs:property>
<wrs:property name="http://www.opengis.net/cat/wrs/properties/spatial-ref-systems">
<wrs:value> urn:ogc:def:crs:EPSG:6.3:4326</wrs:value>
</wrs:property>
</wrs:ServiceProperties>
<wrs:WSDL-services xlink:href="http://999.999.999.999:8080/hma/ws/hma.wsdl" xlink:role="http://www.w3.org/2005/08/wsdl" xlink:title="HMA RSAT-2 Web Service End point" xlink:type="simple"></wrs:WSDL-services>
</wrs:Capabilities>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
但不知何故,这些数据并没有返回到我的客户端代码。响应对象中的大多数属性都是 NULL。
基于 SOAP 响应,响应对象的一个非 NULL 属性是错误的(response.version),它应该是“2.0.2”而不是“1.0.0”
有人知道我遗漏了什么,或者这里有什么问题吗?
或者什么可以帮助我解决这个问题?
【问题讨论】:
-
至少根据您的帖子,您实际上并没有在 WCF 中使用任何东西。
-
@Mike:我认为“添加服务引用”正在使用 WCF。并且“添加 Web 引用”正在使用 Web 服务。
-
WCF 用于托管 服务,并且不仅限于(Web)服务。也就是说,您仍然可能最终连接到不是使用 WCF 构建的 .NET WS(它可能更旧,或者只是自己开发的)。
-
您能否找到生成的 CapabilitiesType 代码并将其粘贴到此处(或其中的一部分)。解决此问题可能会有所帮助。另外,您说版本应该是“2.0.2”,但是如果您查看收到的响应,您会发现版本属性确实是“1.0.0”,所以这似乎是正确的,对吧?
标签: c# .net web-services soap