[AIX Solaris HP-UX Linux Windows][z/OS]

지능형 관리: SOAP 피연산자

AND, OR, NOT 및 괄호 그룹화를 사용하여 하위 표현식에서 복잡한 규칙 조건을 빌드하는 데 도움이 되는 선택적 도구인 하위 표현식 유틸리티 빌더에서 SOAP 피연산자를 사용하십시오.

특정 정보를 찾으려면 다음 하위 주제 링크를 사용하십시오.

규칙

각 작업 클래스는 해당 요청에 대한 정책을 판별하기 위해 특정 요청에 대해 평가되는 선택적 규칙 순서 목록을 포함합니다. 각 규칙은 부울 표현식과 정책 값으로 구성됩니다. 특정 요청에 대해 표현식이 true로 평가되면 해당 규칙과 연관된 정책이 사용됩니다.

규칙에 대한 부울 표현식 구문과 시맨틱은 SQL(Structured Query Language) 표현식의 WHERE 절과 유사합니다. 더 정확히 말하면 표현식 구문은 JMS(Java™ Message Service) 1.1 스펙에서 정의합니다. 표현식 구문과 시맨틱에 대한 자세한 정보는 규칙 기반 요청 분류에 대해 읽으십시오.

JMS 스펙에서 ID는 요청과 연관될 수 있는 다양한 속성(예: 특정 조회 매개변수, 쿠키 또는 HTTP 헤더)을 나타냅니다. JMS ID를 요청 변수 또는 피연산자로 간주할 수 있습니다. 이러한 피연산자는 프로토콜에 특정합니다. 예를 들어, SOAP 서비스 이름은 SOAP 작업 클래스에서만 유효한 피연산자입니다.

SOAP는 HTTP를 통하기 때문에 HTTP 피연산자는 SOAP 요청에서도 유효합니다. JMS 스펙은 리터럴을 사용하여 요청 변수를 비교할 때 사용할 특정 값을 지정합니다. 예를 들어, 다음 표현식에서
clienthost LIKE '%.ibm.com'
'%.ibm.com'은 요청의 클라이언트 호스트 이름을 비교하는 데 사용되는 리터럴입니다. 이 표현식은 ibm.com® 도메인의 컴퓨터에서 시작되는 모든 요청에 적용됩니다. 문자열 리터럴을 작은따옴표로 묶으십시오. 숫자 리터럴은 작은따옴표로 묶지 마십시오. AND, OR, NOT 연산자와 함께 괄호를 사용하여 복합 부울 표현식을 형성할 수도 있습니다. 자세한 설명은 JMS 1.1 스펙을 참조하십시오.

SOAP 피연산자

표 1. SOAP에서 지원되는 피연산자
피연산자 구문 설명

클라이언트 호스트

clienthost 완전한 클라이언트 호스트 이름입니다. 이는 IP(Internet Protocol) 명령 호스트 이름 값입니다. 이 피연산자는 >, >=, <, <=과 같은 숫자 연산자는 지원하지 않습니다.

클라이언트 IPV4

clientipv4 IPv4(Internet Protocol version 4) 점분리 4주소 유형(n.n.n.n)을 사용하는 클라이언트의 IP 주소입니다.

클라이언트 IPV6

clientipv6 클라이언트 컴퓨터의 RFC 1924(Request for Comments 1924)를 따르는 IPv6(Internet Protocol version 6) 128비트 주소 유형(x:x:x:x:x:x:x:x)입니다.

쿠키 이름

cookie$<name> 쿠키 이름입니다.
예를 들어, cookie$My_Cookie_Name='My_Cookie_Value' 표현식은 요청을 테스트하여 이름이 My_Cookie_Name이고 값이 My_Cookie_Value인 쿠키를 포함하는지 여부를 확인합니다. 특정 쿠키의 존재 여부를 테스트하려면 다음 표현식 중 하나를 사용하십시오.
cookie$MyCookieName IS NOT NULL 
cookie$MyCookieName IS NULL

헤더 이름

header $<name> 헤더 이름 및 값입니다.
예를 들어, header$Host='localhost' 표현식은 요청을 테스트하여 값이 localhost인 HTTP 호스트 헤더를 포함하는지 여부를 확인합니다. 호스트 헤더의 존재 여부를 테스트하려면 다음 표현식 중 하나를 사용하십시오.
header$Host IS NOT NULL 
header$Host IS NULL

HTTP 메소드

HTTPMethod 요청에 대한 HTTP 메소드입니다. 가능한 값은 POST, GET, PUT, DELETE입니다.

MIME 유형

MIMEType 요청의 MIME 유형입니다.

조작

operation 웹 서비스 오퍼레이션 이름입니다.

백분율

percentage$<val> percentage 피연산자는 고정 시간 백분율에 대해 true로 평가됩니다.

예를 들어, percentage$50은 시간의 평균 50%에서 true로 평가됩니다.

포트

port 요청이 수신된 청취 포트입니다.

프로토콜

protocol 요청을 전송하는 통신 프로토콜입니다. 현재 지원되는 프로토콜은 HTTP, HTTPS, SOAP, SOAPS입니다.

조회 매개변수

queryparm$<name> 헤더 이름 및 값입니다.
예를 들어, queryparm$timezone='EST' 표현식은 요청을 테스트하여 이름이 timezone이고 값이 EST인 HTTP 조회 매개변수를 포함하는지 여부를 확인합니다. 조회 매개변수의 존재 여부를 테스트하려면 다음 양식 중 하나를 사용하십시오.
queryparm$timezone IS NOT NULL 
queryparm$timezone IS NULL

램프업

rampup$<startTime>

$<completionTime>

rampup 피연산자는 가변 시간 백분율에 대해 true로 평가됩니다. 항상 <startTime> 앞에서는 false로 평가되고 <completionTime> 뒤에서는 true로 평가됩니다. <startTime>에서 <completionTime>으로 시간이 지나면 선형 증가 백분율에 대해 true로 평가됩니다.

<startTime><completionTime> 형식은 day/month/year::hour:min:sec입니다.

여기서 day는 일이고 month는 12개월 중 하나(Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)이며, year는 4자리 연도이고 hour는 24시간 시계의 2자리 시간이며, minsec는 각각 분 및 초의 2자리 값입니다.

예를 들어,

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00은 2007년 1월 1일 오전 8시에 때때로 true로 평가되기 시작하며 동일한 날 오후 5시에 램프업 완료 시간까지 항상 true로 평가됩니다.

서버 호스트

serverhost 서버의 완전한 호스트 이름입니다. 이 피연산자는 >, >=, <, <=과 같은 숫자 연산자는 지원하지 않습니다.

서버 IPV4

serveripv4 IPv4 점분리 4주소 유형(n.n.n.n)을 사용하는 서버 컴퓨터의 IP 주소입니다.

서버 IPV6

serveripv6 서버 컴퓨터의 RFC 1924를 따르는 IPv6 128비트 주소 유형(x:x:x:x:x:x:x:x)입니다.

서비스

service 웹 서비스 이름입니다.

시간

time

주어진 요청을 받아들여야 하는 날짜 및 시간을 정의하는 데 사용됩니다. 두 개의 선택적 필드는 StartTime과 EndTime입니다. 정의된 해당 기간을 벗어나 요청이 수신되는 경우에는 요청이 처리되지 않습니다.

시작 시간 및 종료 시간 필드 형식은 각각 dayOfWeek/dayOfMonth/month/year::hour:minute:second입니다.

예를 들어, 2007년 4월 11일 목요일 오후 1시 3분 45초는 다음과 같이 지정됩니다.

Thu/11/Apr/2007::13:03:45

모든 필드에 * 값과 함께 와일드카드를 사용할 수 있습니다.

예를 들어, 각 월의 1일은 */1로 지정됩니다.

dayofWeek 값은 Sun, Mon, Tue, Wed, Thu, Fri, Sat이고 dayOfMonth 값은 1 - 31 범위입니다.

month 값은 12개월을 나타내는 숫자가 아닌 값(Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)입니다.

year 값은 연도를 나타내는 4자리 숫자로 구성됩니다(예: 2007).

hour 값은 24시간 시계 형식의 시간입니다. 예를 들어, 8am은 ::8로 표시됩니다. minutesecond는 0 - 59 범위의 정수입니다.

슬래시(/)는 날짜 매개변수를 구분하는 데 사용되고 이중 콜론(::)은 날짜 매개변수를 구분하는 데 사용되며, 콜론(:)은 시간 매개변수를 구분하는 데 사용됩니다. time 피연산자가 사용되는 전체 규칙(수행된 라우팅 조치를 판별)의 부울 결과입니다.

가상 포털

virtualportal 가상 포털은 WebSphere® Portal Server에 작성되며 지능형 관리 는 WebSphere Portal Server와의 더 나은 통합을 위해 이 피연산자를 지원합니다. 가상 포털은 요청 URL에서 WebSphere Portal 애플리케이션 웹 모듈의 컨텍스트 루트를 뺀 것입니다. 주어진 요청이 정의된 가상 포털과 일치하는 경우 해당 규칙에 대해 정의된 라우팅 조치가 수행됩니다.

Xpath 표현식

Xpath 표현식 구문은 xpathexpr이며 SOAP를 통해 지원됩니다.

XPath 문자열 표현식에는 XPath 표현식을 포함하는 필수 필드와 로컬 네임스페이스를 정의하기 위한 선택적 필드가 있습니다. XPath 표현식에 포함된 모든 네임스페이스가 표준인 경우 두 번째 필드는 선택사항입니다. 로컬 네임스페이스가 여러 개인 경우 쉼표(,)를 사용하여 각각을 구분하십시오.

다음 예제는 로컬 네임스페이스 정의가 하나인 xpathexpr을 표시합니다.

xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com 
 = \\'1000\\' or operation IS NOT NULL

이전 표현식에서 XPath 표현식은 /soap:Envelope/soap:Body/n:getTimeZone/n:clientId입니다. 여기에는 로컬 네임스페이스 n이 포함되어 있습니다. 따라서 xpathexpr의 두 번째 필드는 n \\=http://test.classify.ws.ibm.com으로 정의됩니다. 달러 부호($)는 필드 정의의 시작을 나타내는 데 사용됩니다. 이 예제에서 두 개의 백슬래시는 이스케이프 시퀀스입니다. 첫 번째 등호(=)는 로컬 네임스페이스 정의의 일부이기 때문에 이스케이프되는 반면, 두 번째 등호(=)는 분류 표현식의 연산자이므로 이스케이프되지 않아야 합니다.

다음 예제는 로컬 네임스페이스가 두 개인 xpathexpr을 표시합니다.

xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com 
 = \\'1000\\' or operation IS NOT NULL
다음 표는 xpathexpr 표현식의 표준 네임스페이스를 표시합니다.
표 2. 네임스페이스
네임스페이스 URL
soap http://schemas.xmlsoap.org/soap/envelope/
soap-env http://schemas.xmlsoap.org/soap/envelope/
soapenc http://schemas.xmlsoap.org/soap/encoding/
soapbind http://schemas.xmlsoap.org/wsdl/soap/
xsd http://www.w3.org/2001/XMLSchema
xsi http://www.w3.org/2001/XMLSchema-instance
xsi http://ws-i.org/schemas/conformanceClaim/
wsdl http://schemas.xmlsoap.org/wsdl/

연산자

지능형 관리 는 규칙 표현식에서 다음 표의 연산자를 지원합니다. 이러한 연산자는 WHERE 또는 HAVING 절 내에 나타나기 때문에 SQL 용어로는 술어라고도 합니다. 연산자는 대소문자를 구분하지 않습니다.

표 3. 요청 분류 연산자
연산자 설명
OR OR 논리 연산자입니다.
AND AND 논리 연산자입니다.
NOT 부정 연산자입니다.
IN 단일 표현식에서 다중 값을 포함하는 피연산자를 표현합니다. 이 연산자의 의미는 연산자의 SQL 표준 의미와 일치합니다.
예를 들어, port 값이 9080, 9090, 9091 같은 값이 될 수 있음을 표현하려면 다음 표현식 단편을 사용하십시오.
port IN (9080,9090,9091)
SQL에서 소괄호 안의 값이 표현되는 방법은 포트의 데이터 유형에 따라 다릅니다. 포트가 정수인 경우, 작은따옴표가 없는 값이 구문상 올바릅니다. 포트가 문자열인 경우, 올바른 표현식은 다음과 같습니다.
port IN ('9080','9090','9091')
LIKE

문자열 피연산자 값에 대한 패턴 일치를 표현합니다. 값은 패턴 일치가 시작될 것으로 예상되는 위치에 와일드카드 문자(%)를 포함해야 합니다.

예를 들어, 다음 표현식은
host LIKE %blanca
blanca라는 단어와 blanca로 끝나는 다른 단어와 일치하는 반면, 다음 표현식은
host LIKE blanca%
blanca라는 단어와 blanca로 시작하는 다른 단어와 일치합니다. 다음 표현식은
host LIKE %blanca%
blanca라는 단어와 그 안에 blanca 토큰이 임베드된 단어와 일치합니다.

java.util.regex.Pattern 클래스가 사용됩니다.

= 등호 연산자는 대소문자 구분 일치에서 일치를 표현합니다.
> 숫자 피연산자와 함께 사용되는 보다 큼 연산자입니다.
>= 숫자 피연산자와 함께 사용되는 크거나 같음 연산자입니다.
< 숫자 피연산자와 함께 사용되는 보다 작음 연산자입니다.
<= 숫자 피연산자와 함께 사용되는 작거나 같음 연산자입니다.
< > 같지 않음 연산자입니다.
BETWEEN AND와 함께 사용되어 값 범위를 선택합니다(첫 번째 값(낮은 값)과 마지막 값(높은 값) 포함). 이 두 개의 연산자를 함께 사용하면 숫자 및 날짜 값으로 작동합니다.
IS NULL 피연산자에 NULL 값이 들어 있는지 테스트합니다.
IS NOT NULL 피연산자에 NULL 이외의 값이 들어 있는지 테스트합니다.

주제 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwve_odrsoap
파일 이름:rwve_odrsoap.html