2011-04-19 2 views
4

Java 웹 서비스 WSDL을 생성 한 다음 변경할 때마다 C# 응용 프로그램으로 가져옵니다. 이 작업이 완료 될 때마다 xs:choice 요소가 재생성되지만 종종 생성되는 요소에 따라 다른 번호가 사용됩니다. 예를 들어 WSDL을 가져올 때 ItemChoiceType1ItemChoiceType2을 생성한다고 가정 해 보겠습니다. 다음에 WSDL을 가져 오면 (변경 후) 과 ItemChoiceType2으로 바뀌므로 해당 위치를 다시 코드화해야합니다. ItemChoiceType을 사용합니다. 어쨌든 이름을 변경하거나 이러한 구문의 이름을 지정하거나 매번 같은 방식으로 생성되도록 할 수 있습니까?.NET WSDL 생성 xs : choice 이름 선택 바인딩 열두어

감사합니다.

+1

나는 해결책에 매우 관심이있는 동일한 문제를 가지고있다. – capdragon

답변

-1

이것은 WSDL.EXE의 기본 동작입니다. xs : choice 요소는 이름이 지정되지 않은 시퀀스이므로 WSDL.EXE에 의해 생성 된 이름을 수신합니다.

제 생각에 WSDL을 다시 가져올 경우 오버라이드되지 않는 .NET 측에 대한 해결책이 없습니다.

Java WSDL을 일부 제어 할 수있는 경우 complexTypes를 지정하여 시퀀스를 묶고 각 유형의 이름을 지정할 수 있습니다. 이렇게하면 실험 할 수있는보다 유용한 WSDL이 생성 될 수 있습니다.

+0

-1 : 그는 숫자 값에 대해 이야기하지 않는다. –

0

따라서이 객체 (myObject)에는 빌드시 변경 될 수있는 유형과 열거 형에서 값이 할당되는 유형이있는 속성 (myProperty)이 있습니다. (열거 /// 개인 정적 무효 propertySetter (유형 typeNeeded, targetObject, 문자열 PROPNAME, 문자열 fieldName은 객체) { VAR theDesiredValue = Enum.Parse에서

/// 설정 속성 값이 속성 setter 함수를 사용하여 typeNeeded, fieldName);

Type t = targetObject.GetType(); 
    PropertyInfo info = t.GetProperty(propName); 
    if ((info == null) || (!info.CanWrite)) 
     return; 
    info.SetValue(targetObject, theDesiredValue, null); 
    return; 

}

// 사용 propertySetter (myObject.myProperty.GetType(), 즉, myObject "myProperty", "EnumValue는");

+0

이것이 내 질문과 어떤 관련이 있는지 잘 모르시겠습니까? – Cromat

관련 문제