2010-04-16 2 views
0

soapUI 3.5를 처음 사용했습니다. soapUI에서 테스트를 실행하는 동안 jboss에 배포 된 웹 서비스에 대한 보안을 획득하는 일부 wsdl을 시도했습니다. 4.2.1필수 요소에 wsu : id가 없습니까?

그것은 나를 준다

 <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> 
    <env:Header/> 
    <env:Body> 
    <env:Fault> 
    <faultcode>env:Server</faultcode> 
    <faultstring>org.jboss.ws.core.CommonSOAPFaultException: Required element did not contain a wsu:id.</faultstring> 
    </env:Fault> 
    </env:Body> 
     </env:Envelope> 

어떤 제안?

미리 감사드립니다.

답변

0

나는 이것이 보안상의 예외라고 생각하지 않습니다. WSDL이 잘못되었거나 soapUI 테스트 도구와 호환되지 않는다고 생각합니다. 다른 테스트 도구 또는 클라이언트 라이브러리에서도 예외가 발생할 가능성이 높습니다. 이 WSDL이 자동 생성 되었습니까? 그럴거야 ...

0

도망친 서버가 귀하의 요청을 좋아하지 않았습니다. SoapUI가 샘플을 사용했기 때문에 아마? 자리 표시 자, 또는 "lorem ipsum"값으로 표시 할 수 있습니다. 유효한 데이터로 교체하십시오.

이미이 서버와 대화 할 수있는 응용 프로그램이있는 경우 일반적으로 SoapUI에 해당 요청을 복사하거나 붙여 넣을 수 있습니다.

또한 샘플 요청을 캡처 할 수 없으면 PC에서 피들러를 실행하면 프록시 역할을 수행하여 샘플 페이로드를 쉽게 캡처 할 수 있습니다. SoapUI도 그렇게 할 수 있지만, Fiddler는 WinInet을 프록시로 사용하도록 자동 구성합니다.

1

같은 문제가있었습니다. 해결책을 찾았습니다. JBoss Forum

JBoss WS 클라이언트는 SoapUI가 자동으로 삽입하지 않는 요소에 wsu : Id 속성을 생성합니다. 여기 내 기본 SoapUI 요청합니다 (XML 탭을 사용하여보기/편집) 모습입니다 :

<soapenv:Header/> 
    <soapenv:Body> 
    <ser:getCutOffTime/> 
    </soapenv:Body> 

당신은 '더미'WSU을 포함하는 경우 당신은 SoapUI를 사용할 수 있습니다 이드 요청의 몸에. 네임 스페이스를 포함해야합니다.

<soapenv:Header/> 
    <soapenv:Body wsu:Id="element-1-1272320911598-1522000" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> 
    <ser:getCutOffTime/> 
    </soapenv:Body> 

이 문제가 해결되었습니다. JBoss 5.0을 사용하고있었습니다.