After migrating from Wildfly 12 to 22 getting NullPointerException on Startup - jboss

I tried to migrate my Wildfly from 12 to 22. After I run the migration tool I put my war-file into the deployments folder. But when I try to start it with the following command
./standalone.sh -c standalone-full.xml
I get the following error:
2021-08-24 12:23:54,295 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC000001: Failed to start service jboss.deployment.unit." .war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit." .war".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment " .war"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:189)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.addJndiBinding(ModuleJndiBindingProcessor.java:279)
at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.deploy(ModuleJndiBindingProcessor.java:202)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:182)
... 8 more
2021-08-24 12:23:54,510 INFO [org.infinispan.PERSISTENCE] (ServerService Thread Pool -- 88) ISPN000556: Starting user marshaller 'org.wildfly.clustering.infinispan.spi.marshalling.InfinispanProtoStreamMarshaller'
2021-08-24 12:23:55,053 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 88) WFLYCLINF0002: Started http-remoting-connector cache from ejb container
2021-08-24 12:23:55,294 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => " .war")]) - failure description: {
"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\" .war\".INSTALL" => "WFLYSRV0153: Failed to process phase INSTALL of deployment \" .war\"
Caused by: java.lang.NullPointerException"},
"WFLYCTL0412: Required services that are not installed:" => [
"jboss.deployment.unit.\" .war\".WeldStartService",
"jboss.deployment.unit.\" .war\".beanmanager"
],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"jboss.deployment.unit.\" .war\".batch.artifact.factory is missing [jboss.deployment.unit.\" .war\".beanmanager]",
"jboss.deployment.unit.\" .war\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\" .war\".WeldStartService, jboss.deployment.unit.\" .war\".beanmanager]"
]
}
My standanlone-full.xml you can find here:
https://pastebin.com/a5UZY1Su
Can anyone help me or do you need more informations?

I found the issue,
in my persistence.xml under the properties path, I had the following
<property name="jboss.entity.manager.jndi.name" value="java:comp/env/..." />
After removing this line, everything worked.

Related

How do I configure the Keycloak SAML client for Wildfly26?

The Keycloak SAML adapter for Wildfly26 is not working. Is SAML not supported by Keycloak for Wildfly26?
I upgraded from Wildfly24 and migrated from legacy-security to Elytron. I have installed Keycloak20.0.3 modules to Wildfly26 and I have run the adapter-elytron-install-saml.cli. Upon startup I get this when it tries to deploy my web application:
2023-01-19 11:51:48,243 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.deployment.subunit."production-saml.ear"."prod-7.1.0.war".DEPENDENCIES: org.jboss.msc.service.StartException in service jboss.deployment.subunit."production-saml.ear"."prod-7.1.0.war".DEPENDENCIES: WFLYSRV0153: Failed to process phase DEPENDENCIES of subdeployment "prod-7.1.0.war" of deployment "production-saml.ear"
at org.jboss.as.server#18.1.0.Final//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:189)
at org.jboss.msc#1.4.13.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
at org.jboss.msc#1.4.13.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
at org.jboss.msc#1.4.13.Final//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
at org.jboss.threads#2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads#2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads#2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads#2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1363)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.RuntimeException: Legacy WildFly security layer is no longer supported by the Keycloak WildFly adapter
at org.keycloak.keycloak-saml-wildfly-subsystem#20.0.3//org.keycloak.subsystem.adapter.saml.extension.KeycloakDependencyProcessorWildFly.addPlatformSpecificModules(KeycloakDependencyProcessorWildFly.java:42)
at org.keycloak.keycloak-saml-wildfly-subsystem#20.0.3//org.keycloak.subsystem.adapter.saml.extension.KeycloakDependencyProcessor.deploy(KeycloakDependencyProcessor.java:68)
at org.jboss.as.server#18.1.0.Final//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:182)
... 8 more
2023-01-19 11:51:48,258 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "production-saml.ear")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.subunit.\"production-saml.ear\".\"prod-7.1.0.war\".DEPENDENCIES" => "WFLYSRV0153: Failed to process phase DEPENDENCIES of subdeployment \"prod-7.1.0.war\" of deployment \"production-saml.ear\"
Caused by: java.lang.RuntimeException: Legacy WildFly security layer is no longer supported by the Keycloak WildFly adapter"}}
Currently there are no Keycloak adapters available for Wildfly 26.
Currently there is only support for Wildfly versions <= 23. See https://www.keycloak.org/downloads

Duplicate KieServerMDB in porting to a new server

I am moving my working laptop configuration of JBPM running atop JBoss EAP 7.3 to a test server running the same configuration. Business Central and my SQL Server JDBC are deployed seem to work on the test server. However, in
compressing
placing in git repo
retrieving from Git repo
decompressing my kie-server.war
I am seeing
0:01:21,314 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "kie-server.war")])
- failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"kie-server.war\".PARSE" => "WFLYSRV0153: Failed to process phase PARSE of deployment \"kie-serve
r.war\"
Caused by: java.lang.IllegalArgumentException: WFLYEE0040: A component named 'KieServerMDB' is already defined in this module"}}
10:01:21,330 INFO [org.jboss.as.server] (ServerService Thread Pool -- 47) WFLYSRV0010: Deployed "kie-server.war" (runtime-name : "kie-server.war")
10:01:21,330 INFO [org.jboss.as.server] (ServerService Thread Pool -- 47) WFLYSRV0010: Deployed "business-central.war" (runtime-name : "business-central.war")
10:01:21,330 INFO [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0183: Service status report
WFLYCTL0186: Services which failed to start: service jboss.deployment.unit."kie-server.war".PARSE: WFLYSRV0153: Failed to process phase PARSE of deployment "kie-server.war"
during server startup. The bean is defined in weblogic-ejb-jar.xml - but where else could it be defined?
<weblogic-enterprise-bean>
<ejb-name>KieServerMDB</ejb-name>
<message-driven-descriptor>
<destination-jndi-name>jms/KIE.SERVER.REQUEST</destination-jndi-name>
<connection-factory-jndi-name>jms/cf/KIE.SERVER.REQUEST</connection-factory-jndi-name>
</message-driven-descriptor>
<resource-description>
<res-ref-name>org.kie.server.jms.KieServerMDB/factory</res-ref-name>
<jndi-name>jms/cf/KIE.SERVER.RESPONSE</jndi-name>
</resource-description>
</weblogic-enterprise-bean>
Got this resolved. In my porting my code to a new server an combining it with RedHat code several JARs were duplicated.

Error Failed to process phase POST_MODULE of deployment while updating from jboss6 to wildfly15

While upgrading from jboss6 to wildfly15 and from java6 to java8 in jsf project with hibernate ORM i faced some issues we solved it but we have another one
4:34:43,718 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.deployment.unit."nts.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."nts.war".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment "nts.war"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:151)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1738)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1700)
at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1558)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1364)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServlet from [Module "deployment.nts.war" from Service Module Loader]
at org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.checkDeclaredApplicationClassAsServlet(JaxrsScanningProcessor.java:437)
at org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.scanWebDeployment(JaxrsScanningProcessor.java:278)
at org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.deploy(JaxrsScanningProcessor.java:109)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:144)
... 8 more
Caused by: java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServlet from [Module "deployment.nts.war" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:255)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
at org.jboss.as.jaxrs.deployment.JaxrsScanningProcessor.checkDeclaredApplicationClassAsServlet(JaxrsScanningProcessor.java:435)
... 11 more
14:35:07,319 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "nts.war")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"nts.war\".POST_MODULE" => "WFLYSRV0153: Failed to process phase POST_MODULE of deployment \"nts.war\"
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServlet from [Module \"deployment.nts.war\" from Service Module Loader]
Caused by: java.lang.ClassNotFoundException: com.sun.xml.ws.transport.http.servlet.WSServlet from [Module \"deployment.nts.war\" from Service Module Loader]"}}
14:35:07,361 INFO [org.jboss.as.server] (ServerService Thread Pool -- 43) WFLYSRV0010: Deployed "nts.war" (runtime-name : "nts.war")
14:35:07,373 INFO [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0183: Service status report
WFLYCTL0186: Services which failed to start: service jboss.deployment.unit."nts.war".POST_MODULE: WFLYSRV0153: Failed to process phase POST_MODULE of deployment "nts.war"
14:35:07,483 INFO [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server
14:35:07,488 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
14:35:07,489 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
14:35:07,490 ERROR [org.jboss.as] (Controller Boot Thread) WFLYSRV0026: WildFly Full 15.0.1.Final (WildFly Core 7.0.0.Final) started (with errors) in 70466ms - Started 372 of 583 services (1 services failed or missing dependencies, 324 services are lazy, passive or on-demand)
14:35:08,034 INFO [org.jboss.as.protocol] (management I/O-1) WFLYPRT0057: cancelled task by interrupting thread Thread[management-handler-thread - 1,5,management-handler-thread]
The root cause of the deployment is following exception
java.lang.ClassNotFoundException:
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
I'm assuming you are deploying a JAX-WS web service and JAX-WS dependency library jaxws-rt.jar is missing. TO solve the issue download JAX-WS RI distribution,
unzip it and copy jaxws-rt.jar to your classpath.

JBOSS, How can i add the dependancy javax.jmx?

Please help: When i deploy a my.war jboss is throwing:
9:12:16,777 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC000001: Failed to start service
jboss.module.service."deployment.my.war".main:
org.jboss.msc.service.StartException in service
jboss.module.service."deployment.my.war".main: WFLYSRV0179: Failed to
load module: deployment.my.war:main
at org.jboss.as.server.moduleservice.ModuleLoadService.start(ModuleLoadService.java:91)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745) Caused by: org.jboss.modules.ModuleNotFoundException: javax.jmx:main
at org.jboss.modules.Module.addPaths(Module.java:1093)
at org.jboss.modules.Module.link(Module.java:1449)
at org.jboss.modules.Module.relinkIfNecessary(Module.java:1477)
at org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:225)
at org.jboss.as.server.moduleservice.ModuleLoadService.start(ModuleLoadService.java:68)
... 5 more
09:12:16,783 ERROR [org.jboss.as.controller.management-operation]
(Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed -
address: ([("deployment" => "my.war")]) - failure description: {
"WFLYCTL0080: Failed services" => {"jboss.module.service.\"deployment.my.war\".main" =>
"org.jboss.msc.service.StartException in service
jboss.module.service.\"deployment.my.war\".main: WFLYSRV0179: Failed
to load module: deployment.my.war:main
Caused by: org.jboss.modules.ModuleNotFoundException: javax.jmx:main"},
"WFLYCTL0412: Required services that are not installed:" => ["jboss.module.service.\"deployment.my.war\".main"],
"WFLYCTL0180: Services with missing/unavailable dependencies" => undefined
Hi i just removed the dependancy from the deployment descriptor.
it was a mistake from me adding it there.
Thanks

JBOSS throws exception on startup

I'm starting jboss server through CLI in windows 7. Initially it was starting but then I wrote java code for sending messages to learn JMS. After that I'm getting below exceptions. Could anyone please help me in resolving this.
Note: I've removed java file(Consumer.java) from my system, still somehow exception shows it's referring to my java file.
17:52:18,845 INFO [org.jboss.as.deployment.connector] (MSC service thread 1-7) JBAS010401: Bound JCA ConnectionFactory [java:/JmsXA]
17:52:18,902 INFO [org.jboss.as.messaging] (MSC service thread 1-8) JBAS011601: Bound messaging object to jndi name java:/topic/test
17:52:19,270 INFO [org.jboss.as.server.deployment] (MSC service thread 1-7) JBAS015876: Starting deployment of "Consumer.java"
17:52:19,318 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC00001: Failed to start service jboss.deployment.unit."Consumer.java".STRUCTURE
: org.jboss.msc.service.StartException in service jboss.deployment.unit."Consumer.java".STRUCTURE: Failed to process phase STRUCTURE of deployment "Consumer.java"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Fin
al]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_40]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_40]
at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_40]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: Failed to mount deployment content
at org.jboss.as.server.deployment.module.DeploymentRootMountProcessor.deploy(DeploymentRootMountProcessor.java:91) [jboss-as-server-7.1.1.Final.ja
r:7.1.1.Final]
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Fin
al]
... 5 more
Caused by: java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method) [rt.jar:1.7.0_40]
at java.util.zip.ZipFile.<init>(ZipFile.java:215) [rt.jar:1.7.0_40]
at java.util.zip.ZipFile.<init>(ZipFile.java:145) [rt.jar:1.7.0_40]
at java.util.jar.JarFile.<init>(JarFile.java:153) [rt.jar:1.7.0_40]
at java.util.jar.JarFile.<init>(JarFile.java:117) [rt.jar:1.7.0_40]
at org.jboss.vfs.spi.JavaZipFileSystem.<init>(JavaZipFileSystem.java:97) [jboss-vfs-3.1.0.Final.jar:3.1.0.Final]
at org.jboss.vfs.spi.JavaZipFileSystem.<init>(JavaZipFileSystem.java:83) [jboss-vfs-3.1.0.Final.jar:3.1.0.Final]
at org.jboss.vfs.VFS.mountZip(VFS.java:408) [jboss-vfs-3.1.0.Final.jar:3.1.0.Final]
at org.jboss.vfs.VFS.mountZip(VFS.java:434) [jboss-vfs-3.1.0.Final.jar:3.1.0.Final]
at org.jboss.as.server.deployment.DeploymentMountProvider$Factory$ServerDeploymentRepositoryImpl.mountDeploymentContent(DeploymentMountProvider.ja
va:95) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.server.deployment.module.DeploymentRootMountProcessor.deploy(DeploymentRootMountProcessor.java:87) [jboss-as-server-7.1.1.Final.ja
r:7.1.1.Final]
... 6 more
17:52:19,488 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: Deploy of deployment "Consumer.java" was rolled back with failure mes
sage {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"Consumer.java\".STRUCTURE" => "org.jboss.msc.service.StartException in service jboss.depl
oyment.unit.\"Consumer.java\".STRUCTURE: Failed to process phase STRUCTURE of deployment \"Consumer.java\""}}
17:52:19,492 INFO [org.jboss.as.server.deployment] (MSC service thread 1-1) JBAS015877: Stopped deployment Consumer.java in 4ms
17:52:19,517 INFO [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report
JBAS014777: Services which failed to start: service jboss.deployment.unit."Consumer.java".STRUCTURE: org.jboss.msc.service.StartException in servic
e jboss.deployment.unit."Consumer.java".STRUCTURE: Failed to process phase STRUCTURE of deployment "Consumer.java"
17:52:19,529 INFO [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990
17:52:19,544 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back.
Steps that failed:" => {"Operation step-2" => {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"Consumer.java\".STRUCTURE" => "org.jboss.msc.ser
vice.StartException in service jboss.deployment.unit.\"Consumer.java\".STRUCTURE: Failed to process phase STRUCTURE of deployment \"Consumer.java\""}}}}
17:52:19,550 ERROR [org.jboss.as] (Controller Boot Thread) JBAS015875: JBoss AS 7.1.1.Final "Brontes" started (with errors) in 5704ms - Started 171 of 251
services (1 services failed or missing dependencies, 78 services are passive or on-demand)
Thanks in advance.
I've come across this problem when deploying an ear file that contained an empty jar (view the contents and order by size). Check your ear file for an empty jar, if it contains one remove it.
Regards,
Saz