2015-02-04 2 views
0

먼저 아름다운 건축업자를위한 Orbeon 개발자에게 감사드립니다. 내 양식을 만들었습니다. 저장 버튼을 클릭하면 양식 데이터 (필드 입력)를 데이터베이스에 저장하고 싶지 않습니다. 양식 데이터를 JSP/Servlet 페이지로 보내야합니다. 이를 위해 나는 다음 코드를 수정하여 양식 세부 사항 페이지에서 보내기 버튼을 만들었습니다 properties-form-runner.xmlOrbeon 양식에서 Send()는 어떻게 작동합니까?

<property as="xs:string" name="oxf.fr.detail.buttons.*.*"> 
     clear save-final review send 
</property> 
다음

다음과 같이 내가 properties-local.xml 파일을 수정,

<properties xmlnss="http://www.w3.org/2001/XMLSchema" 
xmlns:oxf="http://www.orbeon.com/oxf/processors" 
xmlnsh="http://www.w3.org/1999/xhtml" 
xmlnsf="http://www.w3.org/2002/xforms" 
xmlnsxf="http://orbeon.org/oxf/xml/xforms" 
xmlns:exf="http://www.exforms.org/exf/1-0" 
xmlnsbl="http://www.w3.org/ns/xbl" 
xmlnsxbl="http://orbeon.org/oxf/xml/xbl" 
xmlns:fr="http://orbeon.org/oxf/xml/form-runner"> 
<property as="xs:NMTOKENS" name="oxf.xforms.logging.debug"> 
document model submission control event action analysis server html process 
</property> 
<property as="xs:NMTOKENS" name="oxf.xforms.logging.error" value="submission-error-body"/> 
<property as="xs:string" name="oxf.fr.detail.process.send.*.*" replace="all" method="GET" id="fr-workflow-send-submission" 
value='require-valid 
     then send("http://localhost:8080/orbeon-4.8.0.201502041339-CE/xforms-jsp/guess-the-number/index.jsp") 
     then navigate("/success") 
     recover navigate("/failure")'/> 
</properties> 

그런 다음 빌드를 만든 후와 해당 양식을 작성하고 "제출"버튼을 클릭하면 다음 오류가 발생합니다. 다음과 같이

로그 정보 Orbeon Forms - Page Not Found이 있습니다

또한
2015-02-04 19:39:26,051 DEBUG XFormsServer -     start submission {id: "fr-send-submission-none"} 
2015-02-04 19:39:26,051 DEBUG XFormsServer -     optimized dispatching {name: "xforms-submit-serialize", target: "fr-send-submission-none", native handlers called: "0"} 
2015-02-04 19:39:26,051 DEBUG XFormsServer -     start connecting {type: "regular"} 
2015-02-04 19:39:26,051 INFO lifecycle - event: {"request": "93", "session": "2C12D5E5336D383277FDFA2BA49B9453", "source": "service", "message": "start: handle", "path": "/fr/orbeon/bookshelf/", "method": "POST"} 
2015-02-04 19:39:26,051 INFO ProcessorService - /fr/orbeon/bookshelf/ - Received request 
2015-02-04 19:39:26,066 INFO PageFlowControllerProcessor - not found {controller: "oxf:/apps/fr/page-flow.xml", method: "POST", path: "/fr/orbeon/bookshelf/"} 
2015-02-04 19:39:26,082 INFO PageFlowControllerProcessor - not found {controller: "oxf:/page-flow.xml", method: "POST", path: "/fr/orbeon/bookshelf/"} 
2015-02-04 19:39:26,114 INFO ProcessorService - /fr/orbeon/bookshelf/ - Timing: 63 
2015-02-04 19:39:26,115 INFO lifecycle - event: {"request": "93", "session": "2C12D5E5336D383277FDFA2BA49B9453", "source": "service", "message": "end: handle", "time": "64 ms"} 
2015-02-04 19:39:26,117 DEBUG XFormsServer -     end connecting {time (ms): "66"} 
2015-02-04 19:39:26,117 DEBUG XFormsServer -     start handling result 
2015-02-04 19:39:26,117 DEBUG XFormsServer -      evaluated model variables {count: "4"} 
2015-02-04 19:39:26,120 DEBUG XFormsServer -      xf:insert - inserted nodes {count: "3"} 
2015-02-04 19:39:26,120 DEBUG XFormsServer -      xf:insert - inserted nodes {count: "1"} 
2015-02-04 19:39:26,120 DEBUG XFormsServer -      xf:delete - removed nodes {count: "1"} 
2015-02-04 19:39:26,120 DEBUG XFormsServer -     end handling result {time (ms): "3"} 
2015-02-04 19:39:26,121 DEBUG XFormsServer -     end submission {time (ms): "70"} 
2015-02-04 19:39:26,121 DEBUG XFormsServer -     evaluated model variables {count: "4"} 
2015-02-04 19:39:26,149 ERROR XFormsServer -     xforms-submit-error - setting throwable {throwable: " 
2015-02-04 19:39:26,149 ERROR XFormsServer -      +----------------------------------------------------------------------------------------------------------------------+ 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |An Error has Occurred                         | 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |----------------------------------------------------------------------------------------------------------------------| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |xf:submission for submission id: fr-send-submission-none, error code received when submitting instance: 404   | 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |----------------------------------------------------------------------------------------------------------------------| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |Application Call Stack                        | 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |----------------------------------------------------------------------------------------------------------------------| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |----------------------------------------------------------------------------------------------------------------------| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |Exception: org.orbeon.oxf.xforms.submission.XFormsSubmissionException             | 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |----------------------------------------------------------------------------------------------------------------------| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |.orbeon.oxf.xforms.submission.XFormsModelSubmission|getReplacer     |XFormsModelSubmission.java | 729| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |rg.orbeon.oxf.xforms.submission.RegularSubmission$1|call       |RegularSubmission.java  | 107| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |rg.orbeon.oxf.xforms.submission.RegularSubmission$1|call       |RegularSubmission.java  | 77| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.xforms.submission.BaseSubmission |submitCallable    |BaseSubmission.scala   | 89| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.xforms.submission.RegularSubmission |connect      |RegularSubmission.java  | 130| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |.orbeon.oxf.xforms.submission.XFormsModelSubmission|doSubmit      |XFormsModelSubmission.java | 460| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |.orbeon.oxf.xforms.submission.XFormsModelSubmission|performDefaultAction   |XFormsModelSubmission.java | 292| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |ch$$anonfun$dispatchEvent$1$$anonfun$apply$mcV$sp$1|apply$mcV$sp     |Dispatch.scala    | 125| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |ch$$anonfun$dispatchEvent$1$$anonfun$apply$mcV$sp$1|apply       |Dispatch.scala    | 74| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |ch$$anonfun$dispatchEvent$1$$anonfun$apply$mcV$sp$1|apply       |Dispatch.scala    | 74| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.util.Logging$class     |withDebug      |Logging.scala     | 50| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.xforms.event.Dispatch$    |withDebug      |Dispatch.scala    | 23| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |.oxf.xforms.event.Dispatch$$anonfun$dispatchEvent$1|apply$mcV$sp     |Dispatch.scala    | 74| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |.oxf.xforms.event.Dispatch$$anonfun$dispatchEvent$1|apply       |Dispatch.scala    | 73| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |.oxf.xforms.event.Dispatch$$anonfun$dispatchEvent$1|apply       |Dispatch.scala    | 73| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.xforms.event.Dispatch$    |withEvent$1     |Dispatch.scala    | 38| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.xforms.event.Dispatch$    |dispatchEvent     |Dispatch.scala    | 72| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.xforms.action.XFormsAPI$   |send       |XFormsAPI.scala    | 275| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.xforms.action.XFormsAPI$   |sendThrowOnError    |XFormsAPI.scala    | 292| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |oxf.fr.process.FormRunnerActions$$anonfun$trySend$1|apply       |FormRunnerActions.scala  | 277| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |oxf.fr.process.FormRunnerActions$$anonfun$trySend$1|apply       |FormRunnerActions.scala  | 206| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |scala.util.Try$         |apply       |Try.scala      | 161| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.fr.process.FormRunnerActions$class |trySend      |FormRunnerActions.scala  | 206| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.fr.process.SimpleProcess$   |trySend      |SimpleProcess.scala   | 35| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |rmRunnerActions$$anonfun$AllowedFormRunnerActions$8|apply       |FormRunnerActions.scala  | 40| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |rmRunnerActions$$anonfun$AllowedFormRunnerActions$8|apply       |FormRunnerActions.scala  | 40| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |ssInterpreter$ProcessRuntime$$anonfun$runAction$1$3|apply       |ProcessInterpreter.scala  | 139| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |ssInterpreter$ProcessRuntime$$anonfun$runAction$1$3|apply       |ProcessInterpreter.scala  | 134| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.util.Logging$class     |withDebug      |Logging.scala     | 50| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.fr.process.SimpleProcess$   |withDebug      |SimpleProcess.scala   | 35| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |n.oxf.fr.process.ProcessInterpreter$ProcessRuntime$|runAction$1     |ProcessInterpreter.scala  | 134| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |n.oxf.fr.process.ProcessInterpreter$ProcessRuntime$|org$orbeon$oxf$fr$process$Proc|ProcessInterpreter.scala  | 195| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |rpreter$ProcessRuntime$$anonfun$11$$anonfun$apply$8|apply       |ProcessInterpreter.scala  | 161| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |rpreter$ProcessRuntime$$anonfun$11$$anonfun$apply$8|apply       |ProcessInterpreter.scala  | 161| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |scala.util.Success         |flatMap      |Try.scala      | 200| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |ocess.ProcessInterpreter$ProcessRuntime$$anonfun$11|apply       |ProcessInterpreter.scala  | 161| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |ocess.ProcessInterpreter$ProcessRuntime$$anonfun$11|apply       |ProcessInterpreter.scala  | 158| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |n.oxf.fr.process.ProcessInterpreter$ProcessRuntime$|withStackFrame    |ProcessInterpreter.scala  | 104| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |n.oxf.fr.process.ProcessInterpreter$ProcessRuntime$|runGroupRest$1    |ProcessInterpreter.scala  | 157| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |n.oxf.fr.process.ProcessInterpreter$ProcessRuntime$|runGroup$1     |ProcessInterpreter.scala  | 149| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |---8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<---| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |nServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1|apply$mcV$sp     |OrbeonServlet.scala   | 79| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |nServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1|apply       |OrbeonServlet.scala   | 72| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |nServlet$$anonfun$service$1$$anonfun$apply$mcV$sp$1|apply       |OrbeonServlet.scala   | 72| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.util.ScalaUtils$     |withRootException    |ScalaUtils.scala    | 83| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |orbeon.oxf.servlet.OrbeonServlet$$anonfun$service$1|apply$mcV$sp     |OrbeonServlet.scala   | 72| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |orbeon.oxf.servlet.OrbeonServlet$$anonfun$service$1|apply       |OrbeonServlet.scala   | 72| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |orbeon.oxf.servlet.OrbeonServlet$$anonfun$service$1|apply       |OrbeonServlet.scala   | 72| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.util.DynamicVariable    |withValue      |DynamicVariable.scala   | 42| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.servlet.OrbeonServlet    |service      |OrbeonServlet.scala   | 71| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |javax.servlet.http.HttpServlet      |service      |HttpServlet.java    | 722| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.apache.catalina.core.ApplicationFilterChain |internalDoFilter    |ApplicationFilterChain.java | 305| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.apache.catalina.core.ApplicationFilterChain |doFilter      |ApplicationFilterChain.java | 210| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |doFilter$1$$anonfun$apply$1$$anonfun$apply$mcV$sp$1|apply$mcV$sp     |LimiterFilter.scala   | 85| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |doFilter$1$$anonfun$apply$1$$anonfun$apply$mcV$sp$1|apply       |LimiterFilter.scala   | 85| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |doFilter$1$$anonfun$apply$1$$anonfun$apply$mcV$sp$1|apply       |LimiterFilter.scala   | 85| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.logging.LifecycleLogger$   |withEvent      |LifecycleLogger.scala   | 124| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |.LimiterFilter$$anonfun$doFilter$1$$anonfun$apply$1|apply$mcV$sp     |LimiterFilter.scala   | 84| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |.LimiterFilter$$anonfun$doFilter$1$$anonfun$apply$1|apply       |LimiterFilter.scala   | 78| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |.LimiterFilter$$anonfun$doFilter$1$$anonfun$apply$1|apply       |LimiterFilter.scala   | 78| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.logging.LifecycleLogger$   |withEvent      |LifecycleLogger.scala   | 124| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |rbeon.oxf.servlet.LimiterFilter$$anonfun$doFilter$1|apply       |LimiterFilter.scala   | 78| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |rbeon.oxf.servlet.LimiterFilter$$anonfun$doFilter$1|apply       |LimiterFilter.scala   | 72| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |scala.Option          |foreach      |Option.scala     | 236| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.orbeon.oxf.servlet.LimiterFilter    |doFilter      |LimiterFilter.scala   | 72| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.apache.catalina.core.ApplicationFilterChain |internalDoFilter    |ApplicationFilterChain.java | 243| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.apache.catalina.core.ApplicationFilterChain |doFilter      |ApplicationFilterChain.java | 210| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.apache.catalina.core.StandardWrapperValve  |invoke      |StandardWrapperValve.java  | 225| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.apache.catalina.core.StandardContextValve  |invoke      |StandardContextValve.java  | 169| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.apache.catalina.authenticator.AuthenticatorBase|invoke      |AuthenticatorBase.java  | 472| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.apache.catalina.core.StandardHostValve   |invoke      |StandardHostValve.java  | 168| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.apache.catalina.valves.ErrorReportValve  |invoke      |ErrorReportValve.java   | 98| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.apache.catalina.valves.AccessLogValve   |invoke      |AccessLogValve.java   | 927| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.apache.catalina.core.StandardEngineValve  |invoke      |StandardEngineValve.java  | 118| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.apache.catalina.connector.CoyoteAdapter  |service      |CoyoteAdapter.java   | 407| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |org.apache.coyote.http11.AbstractHttp11Processor |process      |AbstractHttp11Processor.java | 999| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |e.coyote.AbstractProtocol$AbstractConnectionHandler|process      |AbstractProtocol.java   | 565| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |.apache.tomcat.util.net.JIoEndpoint$SocketProcessor|run       |JIoEndpoint.java    | 309| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |java.util.concurrent.ThreadPoolExecutor$Worker  |runTask      |ThreadPoolExecutor.java  | 885| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |java.util.concurrent.ThreadPoolExecutor$Worker  |run       |ThreadPoolExecutor.java  | 907| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      |java.lang.Thread         |run       |Thread.java     | 619| 
2015-02-04 19:39:26,149 ERROR XFormsServer -      +----------------------------------------------------------------------------------------------------------------------+"} 
2015-02-04 19:39:26,149 DEBUG XFormsServer -     start dispatching {name: "xforms-submit-error", target: "fr-send-submission-none"} 
2015-02-04 19:39:26,149 DEBUG XFormsServer -     start handler {name: "xforms-submit-error", phase: "target", observer: "fr-send-submission-none"} 
2015-02-04 19:39:26,149 DEBUG XFormsServer -      interpreter - start executing {action name: "xf:setvalue"} 
2015-02-04 19:39:26,149 DEBUG XFormsServer -      xf:setvalue - setting instance value {source: "setvalue", old value: "false", new value: "", instance: "fr-persistence-instance"} 
2015-02-04 19:39:26,149 DEBUG XFormsServer -      start dispatching {name: "xxforms-value-changed", target: "fr-persistence-instance"} 
2015-02-04 19:39:26,149 DEBUG XFormsServer -       start handler {name: "xxforms-value-changed", phase: "target", observer: "fr-persistence-instance"} 
2015-02-04 19:39:26,149 DEBUG XFormsServer -       interpreter - not executing {action name: "xf:action", condition type: "if", reason: "condition evaluated to 'false'", condition: "name(event('node')) = 'data-status' and event('old-value') != event('new-value')"} 
2015-02-04 19:39:26,149 DEBUG XFormsServer -       end handler {time (ms): "0"} 
2015-02-04 19:39:26,149 DEBUG XFormsServer -      end dispatching {time (ms): "0", regular handlers called: "1", native handlers called: "0"} 
2015-02-04 19:39:26,149 DEBUG XFormsServer -      interpreter - end executing {time (ms): "0", action name: "xf:setvalue"} 
2015-02-04 19:39:26,149 DEBUG XFormsServer -     end handler {time (ms): "0"} 
2015-02-04 19:39:26,149 DEBUG XFormsServer -     end dispatching {time (ms): "0", regular handlers called: "1", native handlers called: "1"} 
2015-02-04 19:39:26,149 DEBUG XFormsServer -    end dispatching {time (ms): "119", regular handlers called: "1", native handlers called: "0"} 
2015-02-04 19:39:26,165 DEBUG XFormsServer -    end process: running action {time (ms): "152", result: "failure"} 
2015-02-04 19:39:26,165 DEBUG XFormsServer -    process: combining with then {action: "ActionNode(navigate,Map(None -> /success))"} 
2015-02-04 19:39:26,165 DEBUG XFormsServer -    process: combining with recover {action: "ActionNode(navigate,Map(None -> /failure))"} 

I가 다음 쿼리는 어떤 형식에서 (데이터를 보낼 것인가,

1))? 2) servelt/JSP에서 값을 얻으려면 어떻게해야합니까? 3) 다른 서버를 통해 양식 데이터를 보낼 수 있습니까? 다음과 같이 내가 properties-local.xml의 구성을 편집하여 문제를 해결 한

답변

1

, 요청의 InputStream을 통해 servelt에서

<property 
    as="xs:string" 
    name="oxf.fr.detail.process.send.*.*" 
    value='require-valid 
     then send(uri = "http://localhost:9090/ServletAction/demoClass", method="POST", content="metadata") 
     then navigate("http://localhost:8080/orbeon/xforms-jsp/guess-the-number/index.jsp") 
     recover navigate("http://localhost:8080/orbeon/xforms-jsp/flickr-search/index.jsp")'/> 

나는 Post 메소드에 양식 인스턴스를 얻을 수 있어요.