AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.08.2012, 14:34   #1  
Murlin is offline
Murlin
Возьми свет!!!
Аватар для Murlin
Самостоятельные клиенты AX
Злыдни
 
291 / 32 (2) +++
Регистрация: 22.09.2008
Адрес: Тюмень, Рашан Федерашан
Web Service Sharepoint и вход по имени пользователя чере Net Business Connector
Доброго времени суток!!!
Помогите пожалуйста кто чем может.
Ситуация такая, написал я для того чтобы на EP была возможность использовать технологию Ajax - веб-службу.
Код довольно простой, веб-служба создает net business connector соединение к аксапте и запращивает данные из аксапты из таблицы(в будущем будет вызов методов аксапты) но все бы хорошо если бы не вот такая неприятность.

метод logon на объекте axapta() не отрабатывает, logonAs отрабатывает если указать там конкретного пользователя, что собственно не устраивает, т.е. хотелось бы сделать таким образом чтобы axapta(net bc) запускался под тем пользоваетелем который заходит на узел sharepoint.
Вот собственно код самого сервиса


Код:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using Microsoft.Dynamics.BusinessConnectorNet;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
namespace WebServiceTest
{
    /// <summary>
    /// Summary description for Service1
    /// </summary>
    [System.Web.Script.Services.ScriptService]
 
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ToolboxItem(false)]
    public class Service1 : System.Web.Services.WebService
    {              
        [WebMethod]
        public DataSet GetCounty(String controlName,String region)
        {
            String result = "";
            Axapta ax;
            Boolean b = true;            
            System.Data.DataTable table = new DataTable("Answer");
            DataColumn                      column;
            DataRow                         row;
            DataSet                         set;
            int countI = 0;
            // Create new DataColumn, set DataType, 
            // ColumnName and add to DataTable.    
            column = new DataColumn();
            column.DataType = System.Type.GetType("System.String");
            column.ColumnName = "controlName";
            column.ReadOnly = true;     
            table.Columns.Add(column);
            column = new DataColumn();
            column.DataType = System.Type.GetType("System.String");
            column.ColumnName = "htmlResult";
            column.ReadOnly = true;
            table.Columns.Add(column);
 
            set = new DataSet();
            set.Tables.Add(table);           
            // Visualize DataSet.                      
            ax = new Axapta();
            System.Net.NetworkCredential nc = new
            System.Net.NetworkCredential("xxxxxxxx", "xxxxx");
            //nc = System.Net.CredentialCache.DefaultCredentials.GetCredential(new Uri("http://test:800/sites/barsaxapta"),"Basic");
 
            try
            {
                ax.LogonAs("xxxxxx","BARS",nc , null, null, null, null);                
            }
            catch (Exception e)
            {
                result = "#Ошибка подключения " + nc.UserName + "\n";
            }
            if (b)
            {
                AxaptaRecord axRecord = ax.CreateAxaptaRecord("AddressCounty");
                axRecord.ExecuteStmt("select CountyId,Name from %1 where %1.StateId == '" + region + "'");
                countI = 0;
                while (axRecord.Found)
                {                   
                    result = result + axRecord.get_Field("CountyId") + "#" + axRecord.get_Field("Name") + "\n";                                          
                    countI++;
                    axRecord.Next();
                }
                axRecord.Dispose();               
                ax.Logoff();
            }
            row = table.NewRow();
            row["controlName"] = controlName;
            row["htmlResult"] = result;
            table.Rows.Add(row);
            return set;
        }
    }
}
Может настроить что то где то надо?
Или есть возможность хотя бы получить эти самые DefaultNetworkCredential потому что не получается...
Пж-ста помогите!!!!
DAX 4.0
__________________
Axapta 3.0 sp 5 Oracle
Диплом Интернет-Университета Информационных Технологий: Основы бухгалтерского учета
Я могу взорвать вам мозг!!!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
fed: Net requirements update in MRP Module and Working Set of MRP Blog bot DAX Blogs 14 08.05.2012 13:09
emeadaxsupport: What changes are required if we change the Business Connector Proxy used by AX 2009 Generated AIF Web services Blog bot DAX Blogs 0 29.03.2010 15:05
Everything AX: Using the .NET Business Connector from PowerShell Blog bot DAX Blogs 0 02.09.2009 16:05
Inside Dynamics AX 4.0: Working with the .NET Business Connector Blog bot DAX Blogs 0 04.10.2007 05:15
Inside Dynamics AX 4.0: Inside the Business Connector Blog bot DAX Blogs 0 04.10.2007 05:15

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:41.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.