C# Maximo查询Web服务

C# Maximo查询Web服务,c#,web-services,maximo,C#,Web Services,Maximo,有人知道我如何处理来自Maximo查询web服务的Maximo响应吗 我能够从Maximo获得数据集响应,但是当我尝试获取工单属性时(例如WONUM,SITEID等),所有属性都返回为null 下面是我正在使用的代码,非常感谢您的帮助 MXWO_WORKORDERType wo_add = new MXWO_WORKORDERType(); MXWO_WORKORDERType[] wo_results; DateTime creationDat

有人知道我如何处理来自Maximo查询web服务的Maximo响应吗

我能够从Maximo获得数据集响应,但是当我尝试获取工单属性时(例如
WONUM
SITEID
等),所有属性都返回为
null

下面是我正在使用的代码,非常感谢您的帮助

       MXWO_WORKORDERType wo_add = new MXWO_WORKORDERType();

        MXWO_WORKORDERType[] wo_results;

        DateTime creationDateTime = new DateTime();
        bool creationDateTimeSpecified = false;
        string language = "NoDef";
        string transLanguage = "NoDef";
        string messageID = "NoDef";
        string maximoVersion = "NoDef";
        bool uniqueResult = false;
        string maxItems = "10000";
        string rsStart = "0";
        string rsCount = "NoDef";
        string rsTotal = "NoDef";

        MXStringType mxstringStID = new MXStringType();
        MXStringType mxstringstatus = new MXStringType();
        MXStringType mxstringwonum = new MXStringType();



        // create query from string 
        MXWOQueryType query = new MXWOQueryType();

        query.WHERE = ("SITEID = 'ABC' AND STATUS='WAPPR'");



         MXWOPortTypeClient c = new MXWOPortTypeClient("MXWOSOAP1Port");



        // perform query 


        MXWO_WORKORDERType[] returnedWOs = c.QueryMXWO(query, ref creationDateTime, ref language, ref transLanguage, ref messageID, ref maximoVersion, uniqueResult, maxItems, ref rsStart, out rsCount, out rsTotal);            

       MXWO_WORKORDERType wo = null;



       for (int i = 0; i < returnedWOs.Length; i++)
       {



           mxstringwonum.Value = returnedWOs[i].WONUM.Value;

           wo.WONUM = mxstringwonum;


           MessageBox.Show(mxstringwonum.Value);



       }
MXWO_WORKORDERType wo_add=new MXWO_WORKORDERType();
MXWO_工作订单类型[]wo_结果;
DateTime creationDateTime=新建日期时间();
bool creationDateTimeSpecified=false;
字符串语言=“NoDef”;
string transLanguage=“NoDef”;
字符串messageID=“NoDef”;
字符串maxioversion=“NoDef”;
bool uniqueResult=false;
字符串maxItems=“10000”;
字符串rsStart=“0”;
字符串rsCount=“NoDef”;
字符串rsTotal=“NoDef”;
MXStringType mxstringStID=新的MXStringType();
MXStringType mxstringstatus=新的MXStringType();
MXStringType mxstringwonum=新的MXStringType();
//从字符串创建查询
MXWOQueryType query=新的MXWOQueryType();
query.WHERE=(“SITEID='ABC'和STATUS='WAPPR');
MXWOPortTypeClient c=新的MXWOPortTypeClient(“MXWOSOAP1Port”);
//执行查询
MXWO_WORKORDERType[]returnedWOs=c.QueryMXWO(查询、引用creationDateTime、引用语言、引用翻译语言、引用消息ID、引用最大值、唯一查询结果、maxItems、引用rsStart、out rsCount、out rsTotal);
MXWO_WORKORDERType wo=null;
for(int i=0;i
检查此项

 MXWO proxy = new MXWO();
        MXWO_WORKORDERType[] wo_results;
        MXWO_WORKORDERType[] wo_new = new MXWO_WORKORDERType[1];
        DateTime creationDateTime = new DateTime();
        WebServiceUseCases.com.cts.ctsinpunvemscoe_MXWO.MXStringQueryType[] queryName = new com.cts.ctsinpunvemscoe_MXWO.MXStringQueryType[1];
        queryName[0] = new com.cts.ctsinpunvemscoe_MXWO.MXStringQueryType();
        queryName[0].Value = "";
        WebServiceUseCases.com.cts.ctsinpunvemscoe_MXWO.MXDomainQueryType[] queryStatus = new com.cts.ctsinpunvemscoe_MXWO.MXDomainQueryType[1];
        queryStatus[0] = new com.cts.ctsinpunvemscoe_MXWO.MXDomainQueryType();
        queryStatus[0].Value = "";
        MXWOQueryType query = new MXWOQueryType();
        query.WORKORDER = new MXWOQueryTypeWORKORDER();
        if (txtBoxWOName.Text != "")
        {
            queryName[0].Value = txtBoxWOName.Text;
            query.WORKORDER.WONUM = queryName;
        }
        if (cmBoxStatus.SelectedIndex != 0)
        {
            queryStatus[0].Value = cmBoxStatus.SelectedItem.ToString();
            query.WORKORDER.STATUS = queryStatus;
        }

        proxy.Url = "http://<server name>:<port>/meaweb/services/MXWO";

        bool creationDateTimeSpecified = false;
        string language = "en";
        string transLanguage = "en";
        string messageID = "NoDef";
        string maximoVersion = "NoDef";
        bool uniqueResult = false;
        string maxItems = "2000";
        string rsStart = "0";
        string rsCount = "NoDef";
        string rsTotal = "NoDef";

        wo_results = proxy.QueryMXWO(query, ref creationDateTime, ref creationDateTimeSpecified, ref language,
        ref transLanguage, ref messageID, ref maximoVersion, uniqueResult, maxItems, ref rsStart, out rsCount, out rsTotal);
MXWO proxy=new MXWO();
MXWO_工作订单类型[]wo_结果;
MXWO_WORKORDERType[]wo_new=新MXWO_WORKORDERType[1];
DateTime creationDateTime=新建日期时间();
webservicecusecases.com.cts.ctsinpunvemscoe_MXWO.MXStringQueryType[]queryName=new com.cts.ctsinpunvemscoe_MXWO.MXStringQueryType[1];
queryName[0]=new com.cts.ctsinpunvemscoe_MXWO.MXStringQueryType();
queryName[0]。值=”;
webservicecusecases.com.cts.ctsinpunpunvemscoe_MXWO.MXDomainQueryType[]queryStatus=new com.cts.ctsinpunpunvemscoe_MXWO.MXDomainQueryType[1];
queryStatus[0]=new com.cts.ctsinpunvemscoe_MXWO.MXDomainQueryType();
queryStatus[0]。值=”;
MXWOQueryType query=新的MXWOQueryType();
query.WORKORDER=新的MXWOQueryTypeWORKORDER();
如果(txtBoxWOName.Text!=“”)
{
queryName[0]。值=txtBoxWOName.Text;
query.WORKORDER.WONUM=queryName;
}
如果(cmBoxStatus.SelectedIndex!=0)
{
queryStatus[0]。值=cmBoxStatus。SelectedItem.ToString();
query.WORKORDER.STATUS=queryStatus;
}
proxy.Url=“http://:/meaweb/services/MXWO”;
bool creationDateTimeSpecified=false;
字符串语言=“en”;
字符串transLanguage=“en”;
字符串messageID=“NoDef”;
字符串maxioversion=“NoDef”;
bool uniqueResult=false;
字符串maxItems=“2000”;
字符串rsStart=“0”;
字符串rsCount=“NoDef”;
字符串rsTotal=“NoDef”;
wo_results=proxy.QueryMXWO(查询,ref creationDateTime,ref creationDateTimeSpecified,ref语言,
ref transLanguage、ref messageID、ref maxioversion、uniqueResult、maxiitems、ref rsStart、out rsCount、out rsTotal);

谢谢你,史瑞尤斯。我调整了您的代码和其他文章中的代码,并使其正常工作。下面是最终代码。谢谢你的回复/帮助

        DateTime creationDateTime = new DateTime();
        bool creationDateTimeSpecified = false;
        string language = "NoDef";
        string transLanguage = "NoDef";
        string messageID = "NoDef";
        string maximoVersion = "NoDef";
        bool uniqueResult = false;
        string maxItems = "10000";
        string rsStart = "0";
        string rsCount = "NoDef";
        string rsTotal = "NoDef";

        MXStringType mxstringStID = new MXStringType();
        MXStringType mxstringwonum = new MXStringType();
        MXStringType mxDescription = new MXStringType();


        Uri serviceUri = new Uri("http://maximourl/meaweb/services/testservice");           
        BasicHttpBinding serviceBinding = new BasicHttpBinding();
        EndpointAddress EndPoint = new EndpointAddress(serviceUri);

        ChannelFactory<MXWOPortTypeChannel> channelFactory = new ChannelFactory<MXWOPortTypeChannel>(serviceBinding, EndPoint);

        //Create a channel 
        MXWOPortTypeChannel channel = channelFactory.CreateChannel();

        channel.Open();

        MXWOQueryType query1 = new MXWOQueryType();

        query1.WHERE = ("SITEID = 'ABC' AND STATUS='APPR'");


        QueryMXWOResponse resp1 = new QueryMXWOResponse();



        QueryMXWORequest creq = new QueryMXWORequest();

        creq.baseLanguage = language;
        //creq.creationDateTime = creationDateTime;
        creq.maximoVersion = maximoVersion;
        creq.transLanguage = transLanguage;
        creq.messageID = messageID;
        creq.rsStart = rsStart;
        creq.maxItems = maxItems;
        creq.uniqueResult = uniqueResult;

        creq.MXWOQuery = query1;


        resp1 = channel.QueryMXWO(creq);

        MXWO_WORKORDERType[] results = resp1.MXWOSet;



        for (int i = 0; i < results.Length; i++)
        {

            MXWO_WORKORDERType wt = results[i];

            mxstringwonum.Value = results[i].WONUM.Value;
            wt.WONUM.Value = mxstringwonum.Value;

            mxDescription.Value = results[i].DESCRIPTION.Value;
            wt.DESCRIPTION.Value = mxDescription.Value;

            mxstringStID.Value = results[i].SITEID.Value;
            wt.SITEID.Value = mxstringStID.Value;


           MessageBox.Show(mxstringStID.Value + " -- " + mxstringwonum.Value + " -- " + mxDescription.Value);

      }
DateTime creationDateTime=newdatetime();
bool creationDateTimeSpecified=false;
字符串语言=“NoDef”;
string transLanguage=“NoDef”;
字符串messageID=“NoDef”;
字符串maxioversion=“NoDef”;
bool uniqueResult=false;
字符串maxItems=“10000”;
字符串rsStart=“0”;
字符串rsCount=“NoDef”;
字符串rsTotal=“NoDef”;
MXStringType mxstringStID=新的MXStringType();
MXStringType mxstringwonum=新的MXStringType();
MXStringType mxDescription=新的MXStringType();
Uri serviceUri=新Uri(“http://maximourl/meaweb/services/testservice");           
BasicHttpBinding serviceBinding=新的BasicHttpBinding();
EndpointAddress EndPoint=新的EndpointAddress(serviceUri);
ChannelFactory ChannelFactory=新的ChannelFactory(serviceBinding,端点);
//创建一个频道
MXWOPortTypeChannel=channelFactory.CreateChannel();
通道打开();
MXWOQueryType query1=新的MXWOQueryType();
query1.WHERE=(“SITEID='ABC'和STATUS='APPR');
QueryMXWOResponse resp1=新的QueryMXWOResponse();
QueryMXWORequest creq=新的QueryMXWORequest();
creq.baseLanguage=语言;
//creq.creationDateTime=creationDateTime;
creq.maximoVersion=maximoVersion;
creq.transLanguage=易位语言;
creq.messageID=messageID;
creq.rsStart=rsStart;
creq.maxItems=maxItems;
creq.uniqueResult=uniqueResult;
creq.MXWOQuery=query1;
resp1=信道QueryMXWO(creq);
MXWO_WORKORDERType[]结果=resp1.MXWOSet;
for(int i=0;i