QnA
사용언어
(칠해주세요) => (C#,VB) |
사용툴 (VS) : VS 2017 |
운영체제 (OS) : Windows 10 |
상세언어(칠해주세요.)
=> 1) WebService |
안녕하세요. 최근 개발중에 안되는게 있어서 질문드려요.
구글링을 해도 ㅠㅠ 크롬으로 번역해도 잘 못찾겠네요.
웹서비스를 구현할때
웹메서드에 전달되는 공통으로 사용 할 데이타 객체를 만들었습니다.
public class Parameter
{
public string Name {get; set; }
public object Value {get; set; }
}
DataTable GetTest( List< Parameter > args )
{
// 요렇게..
}
그리고 동적 호출 (CallWebSerivce라는 메서드) 을 시도하는데요.
* 서비스 참조하여 호출하지 않고 사용합니다.
https://stackoverflow.com/questions/36387336/how-to-call-a-web-service-dynamically-without-add-service-reference-over-ssl
이 링크에 질문에 있는 CallWebService처럼 호출하는데요.
응용프로그램(Winform)에서 공통으로 참조하고 있는 Parameter의 List를 만들어 웹메서드를 호출하며 던졌는데요.
"Parameter" 를 "Parameter" 으로 변환할수 없습니다. 라고 뜨는데요.
이걸 해결할수 있을까요?
샘플은 제가 집에 가서 ... 퇴근후에 올려보겠습니다. ㅠㅠ...
웹서비스 소스는 용량때문에 안올라가네요 ㅠㅠ
아래 웹소스부분만 올렸습니다...
첨부파일은 이 웹서비스를 호출하는 윈폼인데요...
}
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Serialization;
/// <summary>
/// WebService의 요약 설명입니다.
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// ASP.NET AJAX를 사용하여 스크립트에서 이 웹 서비스를 호출하려면 다음 줄의 주석 처리를 제거합니다.
// [System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService
{
public WebService()
{
//디자인된 구성 요소를 사용하는 경우 다음 줄의 주석 처리를 제거합니다.
//InitializeComponent();
}
[WebMethod]
public string HelloWorld()
{
return "Hello World";
}
[WebMethod(EnableSession = true), SoapDocumentMethod]
[XmlInclude(typeof(QR.DataClass))]
public string GetData(QR.DataClass data)
{
return "OK!";
}
}
첫댓글 http://www.diogonunes.com/blog/calling-webservice-without-wsdl-or-web-reference/ 회사이직 이후로 시간이 안생기네... 제대로 확인하지 못하고 사이트 주소 하나 드려볼게요
감사합니다. 저녁에 테스트 해봤으나.. 쉽지 않네요. WCF로 하면 될까 싶어서...
우선 송수신 관련 시작과 끝에 Json으로 변경해서 주고 받는 처리는 해봤습니다.
객체자체로 주고 받고 싶은데 잘 안되네요. 좋은 하루 보내세요.
WCF로 옮겼습니다.
괜히 시간낭비같기도 하고... 주말 즐겁게 보내세요.
저도 ㅇㅖ전에 wcf 로 했어요 ;;;; 보안도 좋고해서요 ㅎ