【发布时间】:2011-08-24 07:13:07
【问题描述】:
当我尝试通过 WCF 测试客户端导入 WSDL (http://ns.hr-xml.org/schemas/org_hr-xml/3_0/Services/Web_Services/WSDL/TimeCard.wsdl) 时,我得到“
WCF 测试客户端不支持 WCF 操作"
因为它使用 type " 错误消息,如屏幕截图所示。
合同如下所示,我不确定为什么我会收到上述错误消息。有人可以指导我正确的方向吗:
[System.ServiceModel.OperationContractAttribute(Action="ChangeTimeCard", ReplyAction="*")]
[System.ServiceModel.FaultContractAttribute(typeof(HRXMLTimeCard.HRXML_Candidate_3_1.ConfirmBODType), Action="ChangeTimeCard", Name="ConfirmBOD", Namespace="http://www.openapplications.org/oagis/9")]
[System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BinaryObjectType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(AmountType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(QuantityType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(PreferenceABIEType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(AddressBaseType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(NameType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(PersonNameBaseType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(TimePeriodABIEType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(TextType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(CodeType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(StatusBasisType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(VerbType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(ResponseCodeType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(IdentifierType))]
[System.ServiceModel.ServiceKnownTypeAttribute(typeof(BusinessObjectDocumentType))]
HRXMLTimeCard.HRXML_Candidate_3_1.ProcessTimeCardResponse ChangeTimeCard(HRXMLTimeCard.HRXML_Candidate_3_1.ChangeTimeCardRequest request);
这是 ChangeTimeCardRequest 类:
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
[System.ServiceModel.MessageContractAttribute(IsWrapped=false)]
public partial class ChangeTimeCardRequest {
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.hr-xml.org/3", Order=0)]
public HRXMLTimeCard.HRXML_Candidate_3_1.ChangeTimeCardType ChangeTimeCard;
public ChangeTimeCardRequest() {
}
public ChangeTimeCardRequest(HRXMLTimeCard.HRXML_Candidate_3_1.ChangeTimeCardType ChangeTimeCard) {
this.ChangeTimeCard = ChangeTimeCard;
}
}
下面是ChangeTimeCardType:
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.225")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.hr-xml.org/3")]
public partial class ChangeTimeCardType : BusinessObjectDocumentType {
private ChangeTimeCardDataAreaType dataAreaField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Order=0)]
public ChangeTimeCardDataAreaType DataArea {
get {
return this.dataAreaField;
}
set {
this.dataAreaField = value;
this.RaisePropertyChanged("DataArea");
}
}
}
此外,如果 wsdl 在 WCF 测试客户端中不起作用,是否意味着它不适用于所有客户端,即。 Java 还是 php?
【问题讨论】:
标签: wcf