2016-10-25 7 views
0

안녕하세요, Microsoft Dynamics NAV 2009 R2 웹 서비스에 문제가 있습니다.MS Dynamics NAV 웹 서비스 인덱스가 범위를 벗어났습니다.

파라미터 lLanguageId [INT]을 필요 OrderGoodsInsert라고 주어진 WEBMETHOD가, LREC [텍스트 250] [100]

LREC는 이러한

    같은 값 문자열 배열되어야
  1. "문서 유형"
  2. "문서 번호"
  3. "줄 번호" -
  4. "삽입 사용자"(생성시 빈)
  5. "유형"[0 "사용자 수정"- ""- 1의 G/L 계정, 2 - 아이템, 3 - 자원, 4 - 고정을 자산, 5 - 수수료 (항목)]
  6. "아니오" - 항목 코드
  7. 수량

내 프로젝트에 웹 서비스 참조로 추가 된 메소드를 호출하려고 C# 코드를 사용. 코드 : 나는

A first chance exception of type 'System.Net.WebException' 
occurred in System.dll 
A first chance exception of type 'System.Web.Services.Protocols.SoapException' 
occurred in System.Web.Services.dll 

오류받을 수 있나요 때

string[] arr = new string[8]; 
arr[0] = "1"; 
arr[1] = currentDocNo; 
arr[3] = "SU04"; 
arr[5] = "2"; 
arr[6] = item.Code; 
arr[7] = item.Amount; 
arr[2] = ""; 
arr[4] = ""; 

navWS.OrderGoodsInsert(1062, arr); 

는 그러나

index out of bounds 내가 뭔가 잘못하고 있는가이다?

+0

'OrderGoodsInsert'에 대한 SOAP 요청은 어떻게 보이나요? 이것은 서버 측 예외 또는 클라이언트 측입니까? 함수에 대한 WSDL Part를 질문에 추가하십시오. – Smartis

+0

또한 'item.Code'에는 어떤 값이 포함되어 있습니까? – Smartis

+0

문자열 예 : "0067444" – HellOfACode

답변

0

WS 개발자가 변경하여 새로운 문서를 보내지 않은 것이 문제였습니다. 항목이있는 선반을 나타내는 배열에 문자열이 하나 더 필요했습니다.

0

귀하의 OrderGoodsInsert 방법은 그래서 변수 lRec 아닌 string[]에 대한 string을 기대하고있어이

<sequence> 
    <element minOccurs="1" maxOccurs="1" name="lLanguageId" type="int"/> 
    <element minOccurs="1" maxOccurs="unbounded" name="lRec" type="string"/> 
</sequence> 

같은 SOAP 정의에 보인다.

구분 기호가있는 단일 문자열로 배열을 변환 해보십시오.

navWS.OrderGoodsInsert(1062, string.Join(";", arr)); 

그러나 어느 것이 NAV WebServices의 올바른 구분 기호인지 확실하지 않습니다.

+0

글자를 배열과 같이 처리하면 https를 호출하려고하는 함수가 포함 된'reference.cs' 파일에 던져 질 수 있습니다.//dpaste.de/Me2m webReference를 프로젝트에 추가 할 때 생성됩니다. 'object [] results = this.Invoke ("OrderGoodsInsert", 새 객체 [] {lLanguageId, lRec});는 예외를 throw하는 행입니다. – HellOfACode

+0

@HellOfACode'index out of bounds '는 일반적으로 배열이 예상보다 큽니다. 이 예외는 이미 웹 서버의 대답입니까? 'IRec'의 컬럼 중 하나가 자동으로 생성되고 WebService에 노출되지 않을 수 있습니까? 아마 라인 번호? – Smartis

+0

저희 회사 문서에 대한 개발자에게 문의하려고합니다. 곧 업데이트 될 예정입니다. – HellOfACode