Quantcast
Channel: AX Developer Forum
Viewing all articles
Browse latest Browse all 9880

Issue while running web service using batch job in AX 2012?

$
0
0

I have consumed a web service using visual studio and used managed code to call that in AX 2012.

Now if I running the code in a simple job as:

 

    static void CurrencyService(Args _args)

    {

       CurrencyConvert.Currency_Convert.CurrencyServiceClient convertcurrency;

       CurrencyConvert.Currency_Convert.Currency currency;

       System.ServiceModel.Description.ServiceEndpoint endPoint;

       System.Type type;

       System.Exception ex;

       str s1;

 

    try

    {

        type = CLRInterop::getType('CurrencyConvert.Currency_Convert.CurrencyServiceClient');

        convertcurrency = AifUtil::createServiceClient(type);

 

        endPoint = convertcurrency.get_Endpoint();

       // endPoint.set_Address(new System.ServiceModel.EndpointAddress("http://localhost/HelloWorld"));

        currency = convertcurrency.GetConversionRate(CurrencyConvert.Currency_Convert.CurrencyCode::AUD,CurrencyConvert.Currency_Convert.CurrencyCode::INR );

 

      info(strFmt('%1', CLRInterop::getAnyTypeForObject(currency.get_Rate())));

    }

     catch(Exception::CLRError)

    {

        ex = CLRInterop::getLastException();

        info(CLRInterop::getAnyTypeForObject(ex.ToString()));

    }

    }

 

Above job is working fine and producing results in a infolog.

 

Now, if a same piece of code is written under a class for batchjob(extending Runbasebatch class) as we normally do for any batch job, it is throwing an error as:

 

> Microsoft.Dynamics.Ax.Xpp.ErrorException: Exception of type

> 'Microsoft.Dynamics.Ax.Xpp.ErrorException' was thrown.

>    at Dynamics.Ax.Application.BatchRun.runJobStatic(Int64 batchId) in

> BatchRun.runJobStatic.xpp:line 38

>    at BatchRun::runJobStatic(Object[] )

>    at

> Microsoft.Dynamics.Ax.Xpp.ReflectionCallHelper.MakeStaticCall(Type

> type, String MethodName, Object[] parameters)

>    at BatchIL.taskThreadEntry(Object threadArg)

 

Other batch jobs except which used web services are working properly.

I have already tried many things such as : RunOn property of a class is set as "server" etc.

This is the case with each web service we have consumed.

Does anybody have a proper solution for this??


Viewing all articles
Browse latest Browse all 9880

Trending Articles